diff options
Diffstat (limited to 'drivers/usb/storage/scsiglue.c')
| -rw-r--r-- | drivers/usb/storage/scsiglue.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index 4ef5527028c5..5f11e19eaae3 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c | |||
| @@ -47,6 +47,7 @@ | |||
| 47 | 47 | ||
| 48 | #include <linux/slab.h> | 48 | #include <linux/slab.h> |
| 49 | #include <linux/module.h> | 49 | #include <linux/module.h> |
| 50 | #include <linux/mutex.h> | ||
| 50 | 51 | ||
| 51 | #include <scsi/scsi.h> | 52 | #include <scsi/scsi.h> |
| 52 | #include <scsi/scsi_cmnd.h> | 53 | #include <scsi/scsi_cmnd.h> |
| @@ -271,9 +272,9 @@ static int device_reset(struct scsi_cmnd *srb) | |||
| 271 | US_DEBUGP("%s called\n", __FUNCTION__); | 272 | US_DEBUGP("%s called\n", __FUNCTION__); |
| 272 | 273 | ||
| 273 | /* lock the device pointers and do the reset */ | 274 | /* lock the device pointers and do the reset */ |
| 274 | down(&(us->dev_semaphore)); | 275 | mutex_lock(&(us->dev_mutex)); |
| 275 | result = us->transport_reset(us); | 276 | result = us->transport_reset(us); |
| 276 | up(&(us->dev_semaphore)); | 277 | mutex_unlock(&us->dev_mutex); |
| 277 | 278 | ||
| 278 | return result < 0 ? FAILED : SUCCESS; | 279 | return result < 0 ? FAILED : SUCCESS; |
| 279 | } | 280 | } |
| @@ -286,9 +287,9 @@ static int bus_reset(struct scsi_cmnd *srb) | |||
| 286 | 287 | ||
| 287 | US_DEBUGP("%s called\n", __FUNCTION__); | 288 | US_DEBUGP("%s called\n", __FUNCTION__); |
| 288 | 289 | ||
| 289 | down(&(us->dev_semaphore)); | 290 | mutex_lock(&(us->dev_mutex)); |
| 290 | result = usb_stor_port_reset(us); | 291 | result = usb_stor_port_reset(us); |
| 291 | up(&(us->dev_semaphore)); | 292 | mutex_unlock(&us->dev_mutex); |
| 292 | 293 | ||
| 293 | return result < 0 ? FAILED : SUCCESS; | 294 | return result < 0 ? FAILED : SUCCESS; |
| 294 | } | 295 | } |
