diff options
author | Matthijs Kooijman <matthijs@stdin.nl> | 2013-03-25 19:00:25 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-25 23:32:46 (GMT) |
commit | 8509f2f43a2b245ade076d1568daa2cf15446732 (patch) | |
tree | dd9c82aaaf62afb143758b7eb2c6dbc8b70bffbd /drivers/staging/dwc2/hcd.c | |
parent | 257f65801520a5c888930d410f781d408a405990 (diff) | |
download | linux-fsl-qoriq-8509f2f43a2b245ade076d1568daa2cf15446732.tar.xz |
staging: dwc2: always release host channel after dequeueing
Previously, when an active urb was dequeued, its host channel would
not always be released. There is some special handling for this in
dwc2_hc_chhltd_intr_dma, but when it was the last urb/qtd in its qh, a
safeguard in dwc2_hc_n_intr would short-circuit and prevent the regular
interrupt handlers from running, without releasing the channel.
This is easily triggered when using a 3G modem using the option driver.
Opening and closing any ttyUSBx device will eat up a host channel that
is forever unusable from that point on.
Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
[paulz@synopsys.com: fixed comment style and added a couple of NULL checks]
Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/dwc2/hcd.c')
0 files changed, 0 insertions, 0 deletions