|
@@ -59,7 +59,9 @@
|
|
|
|
|
|
void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us)
|
|
void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us)
|
|
{
|
|
{
|
|
- /* Pad the SCSI command with zeros out to 12 bytes
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Pad the SCSI command with zeros out to 12 bytes. If the
|
|
|
|
+ * command already is 12 bytes or longer, leave it alone.
|
|
*
|
|
*
|
|
* NOTE: This only works because a scsi_cmnd struct field contains
|
|
* NOTE: This only works because a scsi_cmnd struct field contains
|
|
* a unsigned char cmnd[16], so we know we have storage available
|
|
* 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)
|
|
for (; srb->cmd_len<12; srb->cmd_len++)
|
|
for (; srb->cmd_len<12; srb->cmd_len++)
|
|
srb->cmnd[srb->cmd_len] = 0;
|
|
srb->cmnd[srb->cmd_len] = 0;
|
|
|
|
|
|
- /* set command length to 12 bytes */
|
|
|
|
- srb->cmd_len = 12;
|
|
|
|
-
|
|
|
|
/* send the command to the transport layer */
|
|
/* send the command to the transport layer */
|
|
usb_stor_invoke_transport(srb, us);
|
|
usb_stor_invoke_transport(srb, us);
|
|
}
|
|
}
|