]> git.baikalelectronics.ru Git - kernel.git/commit
drivers: usb: dwc2: remove 'force' parameter from kill_all_requests()
authorRobert Baldyga <r.baldyga@samsung.com>
Tue, 16 Dec 2014 10:51:44 +0000 (11:51 +0100)
committerFelipe Balbi <balbi@ti.com>
Mon, 12 Jan 2015 18:13:28 +0000 (12:13 -0600)
commit69168636beb485a6f3b4ac404250c38b8bff7ee8
tree342295ad0acf53e671c099f5bb808df192195395
parent9d4932c128521c3352ac891a4cc07944b9ff1c3a
drivers: usb: dwc2: remove 'force' parameter from kill_all_requests()

This patch fixes in simpler way the bug described in [1] and [2]. It
looks like DWC2 is the only UDC driver that doesn't force usb requests
to complete in ep_disable() function. This causes described problem,
because we have no guarantee that all requests will be completed before
unbind of usb function.

To fix this problem we force all requests of disabled endpoint to complete.
Also currently running request is not handled. This allowed to simplify
code of kill_all_requests() function, because 'force' parameter is always
set to true, so we don't need it anymore.

In s3c_hsotg_rx_data() we change function used to print message when active
request is NULL from dev_warn() to dev_dbg(), because such situation is
harmless for driver and now it can take place during normal endpoint
disabling.

[1] https://lkml.org/lkml/2014/12/9/283
[2] https://lkml.org/lkml/2014/12/12/360

Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc2/gadget.c