USB: FIx locks and urb->status in adutux (updated)
authorPete Zaitcev <zaitcev@redhat.com>
Wed, 31 Oct 2007 22:59:30 +0000 (15:59 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 28 Nov 2007 21:58:34 +0000 (13:58 -0800)
commitf08812d5eb8f8cd1a5bd5f5c26a96eb93d97ab69
tree1e71713fca245258755a0f99f58d0b9343424ee4
parent3c886c50486cfbef2a2382b99bf4083a465c970a
USB: FIx locks and urb->status in adutux (updated)

Two main issues fixed here are:
 - An improper use of in-struct lock to protect an open count
 - Use of urb status for -EINPROGRESS

Also, along the way:
 - Change usb_unlink_urb to usb_kill_urb. Apparently there's no need
   to use usb_unlink_urb whatsoever in this driver, and the old use of
   usb_kill_urb was outright racy (it unlinked and immediately freed).
 - Fix indentation in adu_write. Looks like it was damaged by a script.
 - Vitaly wants -EBUSY on multiply opens.
 - bInterval was taken from a wrong endpoint.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Vitaliy Ivanov <vitalivanov@gmail.com>
Tested-by: Vitaliy Ivanov <vitalivanov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/misc/adutux.c