cdc-wdm: Don't clear WDM_READ unless entire read buffer is emptied
authorBen Hutchings <ben@decadent.org.uk>
Sun, 12 Feb 2012 06:02:43 +0000 (06:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Apr 2012 16:52:31 +0000 (09:52 -0700)
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>
drivers/usb/class/cdc-wdm.c

index eb650b7..9eb71d8 100644 (file)
@@ -457,7 +457,6 @@ retry:
                        spin_unlock_irq(&desc->iuspin);
                        goto retry;
                }
                        spin_unlock_irq(&desc->iuspin);
                        goto retry;
                }
-               clear_bit(WDM_READ, &desc->flags);
                cntr = desc->length;
                spin_unlock_irq(&desc->iuspin);
        }
                cntr = desc->length;
                spin_unlock_irq(&desc->iuspin);
        }