OSDN Git Service

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)
commit6b448af46e2a2fc9563fd86fb3b7cf06fcf2dd47
tree342295ad0acf53e671c099f5bb808df192195395
parentcb442ee1592d26815156201afa986a4ec3fb4bbf
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