Commit cf5f7411 authored by Matthew Dharm's avatar Matthew Dharm Committed by Greg Kroah-Hartman

[PATCH] USB Storage: tighten sense-clearing code

This patch tightens up the conditions under which an auto-sense will be
cleared.  It also fixes the comment associated with the code.
parent 258e21c1
...@@ -563,9 +563,9 @@ void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us) ...@@ -563,9 +563,9 @@ void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us)
/* /*
* If we're running the CB transport, which is incapable * If we're running the CB transport, which is incapable
* of determining status on its own, we need to auto-sense * of determining status on its own, we will auto-sense
* unless the operation involved a data-in transfer. Devices * unless the operation involved a data-in transfer. Devices
* can signal data-in errors by stalling the bulk-in pipe. * can signal most data-in errors by stalling the bulk-in pipe.
*/ */
if ((us->protocol == US_PR_CB || us->protocol == US_PR_DPCM_USB) && if ((us->protocol == US_PR_CB || us->protocol == US_PR_DPCM_USB) &&
srb->sc_data_direction != SCSI_DATA_READ) { srb->sc_data_direction != SCSI_DATA_READ) {
...@@ -698,7 +698,11 @@ void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us) ...@@ -698,7 +698,11 @@ void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us)
* out the sense buffer so the higher layers won't realize * out the sense buffer so the higher layers won't realize
* we did an unsolicited auto-sense. */ * we did an unsolicited auto-sense. */
if (result == USB_STOR_TRANSPORT_GOOD && if (result == USB_STOR_TRANSPORT_GOOD &&
(srb->sense_buffer[2] & 0xf) == 0x0) { /* Filemark 0, ignore EOM, ILI 0, no sense */
(srb->sense_buffer[2] & 0xaf) == 0 &&
/* No ASC or ASCQ */
srb->sense_buffer[12] == 0 &&
srb->sense_buffer[13] == 0) {
srb->result = SAM_STAT_GOOD; srb->result = SAM_STAT_GOOD;
srb->sense_buffer[0] = 0x0; srb->sense_buffer[0] = 0x0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment