usb: gadget: f_hid: fix: Move IN request allocation to set_alt()
authorKrzysztof Opasiak <kopasiak90@gmail.com>
Tue, 24 Jan 2017 02:27:24 +0000 (03:27 +0100)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 24 Jan 2017 14:19:04 +0000 (16:19 +0200)
commit749494b6bdbbaf0899aa1c62a1ad74cd747bce47
tree6dc19e8f58aa0c61e918c71011acacd3e89f337b
parent977ac789507a0270e4ac9426bfedcb37946bb084
usb: gadget: f_hid: fix: Move IN request allocation to set_alt()

Since commit: ba1582f22231 ("usb: gadget: f_hid: use alloc_ep_req()")
we cannot allocate any requests in bind() as we check if we should
align request buffer based on endpoint descriptor which is assigned
in set_alt().

Allocating request in bind() function causes a NULL pointer
dereference.

This commit moves allocation of IN request from bind() to set_alt()
to prevent this issue.

Fixes: ba1582f22231 ("usb: gadget: f_hid: use alloc_ep_req()")
Cc: stable@vger.kernel.org
Tested-by: David Lechner <david@lechnology.com>
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/gadget/function/f_hid.c