patch-2.4.19 linux-2.4.19/drivers/usb/storage/protocol.c
Next file: linux-2.4.19/drivers/usb/storage/sddr09.c
Previous file: linux-2.4.19/drivers/usb/storage/jumpshot.c
Back to the patch index
Back to the overall index
- Lines: 96
- Date:
Fri Aug 2 17:39:45 2002
- Orig file:
linux-2.4.18/drivers/usb/storage/protocol.c
- Orig date:
Mon Feb 25 11:38:07 2002
diff -urN linux-2.4.18/drivers/usb/storage/protocol.c linux-2.4.19/drivers/usb/storage/protocol.c
@@ -1,12 +1,13 @@
/* Driver for USB Mass Storage compliant devices
*
- * $Id: protocol.c,v 1.11 2002/01/13 06:40:25 mdharm Exp $
+ * $Id: protocol.c,v 1.13 2002/02/25 00:34:56 mdharm Exp $
*
* Current development and maintenance by:
- * (c) 1999, 2000 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
+ * (c) 1999-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
*
* Developed with the assistance of:
* (c) 2000 David L. Brown, Jr. (usb-storage@davidb.org)
+ * (c) 2002 Alan Stern (stern@rowland.org)
*
* Initial work by:
* (c) 1999 Michael Gee (michael@linuxspecific.com)
@@ -97,9 +98,11 @@
/* send the command to the transport layer */
usb_stor_invoke_transport(srb, us);
+ if (srb->result == GOOD << 1) {
- /* fix the INQUIRY data if necessary */
- fix_inquiry_data(srb);
+ /* fix the INQUIRY data if necessary */
+ fix_inquiry_data(srb);
+ }
}
void usb_stor_ATAPI_command(Scsi_Cmnd *srb, struct us_data *us)
@@ -168,13 +171,15 @@
/* send the command to the transport layer */
usb_stor_invoke_transport(srb, us);
+ if (srb->result == GOOD << 1) {
- /* Fix the MODE_SENSE data if we translated the command */
- if ((old_cmnd == MODE_SENSE) && (status_byte(srb->result) == GOOD))
- usb_stor_scsiSense10to6(srb);
-
- /* fix the INQUIRY data if necessary */
- fix_inquiry_data(srb);
+ /* Fix the MODE_SENSE data if we translated the command */
+ if (old_cmnd == MODE_SENSE)
+ usb_stor_scsiSense10to6(srb);
+
+ /* fix the INQUIRY data if necessary */
+ fix_inquiry_data(srb);
+ }
}
@@ -263,13 +268,15 @@
/* send the command to the transport layer */
usb_stor_invoke_transport(srb, us);
+ if (srb->result == GOOD << 1) {
- /* Fix the MODE_SENSE data if we translated the command */
- if ((old_cmnd == MODE_SENSE) && (status_byte(srb->result) == GOOD))
- usb_stor_scsiSense10to6(srb);
-
- /* Fix the data for an INQUIRY, if necessary */
- fix_inquiry_data(srb);
+ /* Fix the MODE_SENSE data if we translated the command */
+ if (old_cmnd == MODE_SENSE)
+ usb_stor_scsiSense10to6(srb);
+
+ /* Fix the data for an INQUIRY, if necessary */
+ fix_inquiry_data(srb);
+ }
}
void usb_stor_transparent_scsi_command(Scsi_Cmnd *srb, struct us_data *us)
@@ -330,13 +337,14 @@
/* send the command to the transport layer */
usb_stor_invoke_transport(srb, us);
+ if (srb->result == GOOD << 1) {
- /* Fix the MODE_SENSE data if we translated the command */
- if ((us->flags & US_FL_MODE_XLATE) && (old_cmnd == MODE_SENSE)
- && (status_byte(srb->result) == GOOD))
- usb_stor_scsiSense10to6(srb);
-
- /* fix the INQUIRY data if necessary */
- fix_inquiry_data(srb);
+ /* Fix the MODE_SENSE data if we translated the command */
+ if ((us->flags & US_FL_MODE_XLATE) && (old_cmnd == MODE_SENSE))
+ usb_stor_scsiSense10to6(srb);
+
+ /* fix the INQUIRY data if necessary */
+ fix_inquiry_data(srb);
+ }
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)