diff options
| author | Ben Hutchings <ben@decadent.org.uk> | 2012-02-12 01:02:43 -0500 |
|---|---|---|
| committer | Luis Henriques <luis.henriques@canonical.com> | 2012-04-05 11:17:19 -0400 |
| commit | cfaa32ae6951f120e8ac50622ec27c4f66183328 (patch) | |
| tree | 3d330b77a0ced1f29dc5e45af5bb666df7629db1 /drivers/usb/class | |
| parent | 7fc94a34d2fad9c0f215111ba890faae2e0b1223 (diff) | |
cdc-wdm: Don't clear WDM_READ unless entire read buffer is emptied
BugLink: http://bugs.launchpad.net/bugs/971808
commit b7a205545345578712611106b371538992e142ff upstream.
The WDM_READ flag is cleared later iff desc->length is reduced to 0.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Tested-by: Bjørn Mork <bjorn@mork.no>
Cc: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/class')
| -rw-r--r-- | drivers/usb/class/cdc-wdm.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 9ad39db76c2..76f061375e1 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c | |||
| @@ -457,7 +457,6 @@ retry: | |||
| 457 | spin_unlock_irq(&desc->iuspin); | 457 | spin_unlock_irq(&desc->iuspin); |
| 458 | goto retry; | 458 | goto retry; |
| 459 | } | 459 | } |
| 460 | clear_bit(WDM_READ, &desc->flags); | ||
| 461 | cntr = desc->length; | 460 | cntr = desc->length; |
| 462 | spin_unlock_irq(&desc->iuspin); | 461 | spin_unlock_irq(&desc->iuspin); |
| 463 | } | 462 | } |
