diff options
Diffstat (limited to 'drivers/usb/storage')
| -rw-r--r-- | drivers/usb/storage/ene_ub6250.c | 3 | ||||
| -rw-r--r-- | drivers/usb/storage/protocol.c | 7 | ||||
| -rw-r--r-- | drivers/usb/storage/unusual_devs.h | 7 |
3 files changed, 11 insertions, 6 deletions
diff --git a/drivers/usb/storage/ene_ub6250.c b/drivers/usb/storage/ene_ub6250.c index 4dca3ef0668c..9fbe742343c6 100644 --- a/drivers/usb/storage/ene_ub6250.c +++ b/drivers/usb/storage/ene_ub6250.c | |||
| @@ -1762,10 +1762,9 @@ static int ms_scsi_write(struct us_data *us, struct scsi_cmnd *srb) | |||
| 1762 | result = ene_send_scsi_cmd(us, FDIR_WRITE, scsi_sglist(srb), 1); | 1762 | result = ene_send_scsi_cmd(us, FDIR_WRITE, scsi_sglist(srb), 1); |
| 1763 | } else { | 1763 | } else { |
| 1764 | void *buf; | 1764 | void *buf; |
| 1765 | int offset; | 1765 | int offset = 0; |
| 1766 | u16 PhyBlockAddr; | 1766 | u16 PhyBlockAddr; |
| 1767 | u8 PageNum; | 1767 | u8 PageNum; |
| 1768 | u32 result; | ||
| 1769 | u16 len, oldphy, newphy; | 1768 | u16 len, oldphy, newphy; |
| 1770 | 1769 | ||
| 1771 | buf = kmalloc(blenByte, GFP_KERNEL); | 1770 | buf = kmalloc(blenByte, GFP_KERNEL); |
diff --git a/drivers/usb/storage/protocol.c b/drivers/usb/storage/protocol.c index 93c1a4d86f51..82dd834709c7 100644 --- a/drivers/usb/storage/protocol.c +++ b/drivers/usb/storage/protocol.c | |||
| @@ -59,7 +59,9 @@ | |||
| 59 | 59 | ||
| 60 | void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us) | 60 | void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us) |
| 61 | { | 61 | { |
| 62 | /* Pad the SCSI command with zeros out to 12 bytes | 62 | /* |
| 63 | * Pad the SCSI command with zeros out to 12 bytes. If the | ||
| 64 | * command already is 12 bytes or longer, leave it alone. | ||
| 63 | * | 65 | * |
| 64 | * NOTE: This only works because a scsi_cmnd struct field contains | 66 | * NOTE: This only works because a scsi_cmnd struct field contains |
| 65 | * a unsigned char cmnd[16], so we know we have storage available | 67 | * a unsigned char cmnd[16], so we know we have storage available |
| @@ -67,9 +69,6 @@ void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us) | |||
| 67 | for (; srb->cmd_len<12; srb->cmd_len++) | 69 | for (; srb->cmd_len<12; srb->cmd_len++) |
| 68 | srb->cmnd[srb->cmd_len] = 0; | 70 | srb->cmnd[srb->cmd_len] = 0; |
| 69 | 71 | ||
| 70 | /* set command length to 12 bytes */ | ||
| 71 | srb->cmd_len = 12; | ||
| 72 | |||
| 73 | /* send the command to the transport layer */ | 72 | /* send the command to the transport layer */ |
| 74 | usb_stor_invoke_transport(srb, us); | 73 | usb_stor_invoke_transport(srb, us); |
| 75 | } | 74 | } |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 3041a974faf3..24caba79d722 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
| @@ -1854,6 +1854,13 @@ UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110, | |||
| 1854 | USB_SC_DEVICE, USB_PR_DEVICE, NULL, | 1854 | USB_SC_DEVICE, USB_PR_DEVICE, NULL, |
| 1855 | US_FL_IGNORE_RESIDUE ), | 1855 | US_FL_IGNORE_RESIDUE ), |
| 1856 | 1856 | ||
| 1857 | /* Reported by Qinglin Ye <yestyle@gmail.com> */ | ||
| 1858 | UNUSUAL_DEV( 0x13fe, 0x3600, 0x0100, 0x0100, | ||
| 1859 | "Kingston", | ||
| 1860 | "DT 101 G2", | ||
| 1861 | USB_SC_DEVICE, USB_PR_DEVICE, NULL, | ||
| 1862 | US_FL_BULK_IGNORE_TAG ), | ||
| 1863 | |||
| 1857 | /* Reported by Francesco Foresti <frafore@tiscali.it> */ | 1864 | /* Reported by Francesco Foresti <frafore@tiscali.it> */ |
| 1858 | UNUSUAL_DEV( 0x14cd, 0x6600, 0x0201, 0x0201, | 1865 | UNUSUAL_DEV( 0x14cd, 0x6600, 0x0201, 0x0201, |
| 1859 | "Super Top", | 1866 | "Super Top", |
