[PATCH] usb-storage locking fixes
authorManfred Spraul <manfred@colorfullife.com>
Mon, 13 May 2002 07:25:19 +0000 (00:25 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Mon, 13 May 2002 07:25:19 +0000 (00:25 -0700)
commitd8a71dcfd455ee6fd79fee5e006f82492eaa2c05
tree99399ba1c9442cf5e2df41bc68966cb24d29db52
parentee73eb81264af32a77271f9d8d899bb75b7d0b00
[PATCH] usb-storage locking fixes

I found several SMP and UP locking errors in usb-storage, attached is a
patch:

Changes:
* srb->result is a bitfield, several << 1 were missing.
* add scsi_lock calls around midlayer calls, release the lock before
  calling usb functions that might sleep.
* replace the queue semaphore with a queue spinlocks, queuecommand is
  called from bh context.
drivers/usb/storage/datafab.c
drivers/usb/storage/isd200.c
drivers/usb/storage/jumpshot.c
drivers/usb/storage/scsiglue.c
drivers/usb/storage/usb.c
drivers/usb/storage/usb.h