diff options
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r-- | drivers/usb/storage/isd200.c | 1 | ||||
-rw-r--r-- | drivers/usb/storage/transport.c | 3 | ||||
-rw-r--r-- | drivers/usb/storage/unusual_devs.h | 11 |
3 files changed, 14 insertions, 1 deletions
diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c index 9d3f28b92cbe..971d13dd5e65 100644 --- a/drivers/usb/storage/isd200.c +++ b/drivers/usb/storage/isd200.c | |||
@@ -1230,6 +1230,7 @@ static int isd200_get_inquiry_data( struct us_data *us ) | |||
1230 | 1230 | ||
1231 | /* Free driver structure */ | 1231 | /* Free driver structure */ |
1232 | us->extra_destructor(info); | 1232 | us->extra_destructor(info); |
1233 | kfree(info); | ||
1233 | us->extra = NULL; | 1234 | us->extra = NULL; |
1234 | us->extra_destructor = NULL; | 1235 | us->extra_destructor = NULL; |
1235 | } | 1236 | } |
diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c index 5780ed15f1ad..bdd4334bed5a 100644 --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c | |||
@@ -1009,7 +1009,8 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us) | |||
1009 | US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n", | 1009 | US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n", |
1010 | le32_to_cpu(bcs->Signature), bcs->Tag, | 1010 | le32_to_cpu(bcs->Signature), bcs->Tag, |
1011 | residue, bcs->Status); | 1011 | residue, bcs->Status); |
1012 | if (bcs->Tag != us->tag || bcs->Status > US_BULK_STAT_PHASE) { | 1012 | if (!(bcs->Tag == us->tag || (us->flags & US_FL_BULK_IGNORE_TAG)) || |
1013 | bcs->Status > US_BULK_STAT_PHASE) { | ||
1013 | US_DEBUGP("Bulk logical error\n"); | 1014 | US_DEBUGP("Bulk logical error\n"); |
1014 | return USB_STOR_TRANSPORT_ERROR; | 1015 | return USB_STOR_TRANSPORT_ERROR; |
1015 | } | 1016 | } |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 99679a8cfa02..e5219a56947c 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
@@ -1589,6 +1589,17 @@ UNUSUAL_DEV( 0x22b8, 0x4810, 0x0001, 0x0001, | |||
1589 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 1589 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
1590 | US_FL_FIX_CAPACITY), | 1590 | US_FL_FIX_CAPACITY), |
1591 | 1591 | ||
1592 | /* | ||
1593 | * Patch by Constantin Baranov <const@tltsu.ru> | ||
1594 | * Report by Andreas Koenecke. | ||
1595 | * Motorola ROKR Z6. | ||
1596 | */ | ||
1597 | UNUSUAL_DEV( 0x22b8, 0x6426, 0x0101, 0x0101, | ||
1598 | "Motorola", | ||
1599 | "MSnc.", | ||
1600 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
1601 | US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG), | ||
1602 | |||
1592 | /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ | 1603 | /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ |
1593 | UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, | 1604 | UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, |
1594 | "MPIO", | 1605 | "MPIO", |