Commit fdb6c00f authored by Douglas Gilbert's avatar Douglas Gilbert Committed by James Bottomley

[PATCH] SAM-3 status codes

The perverse CHECK_CONDITION in include/scsi/scsi.h seems
to have struck again (see "Can't burn DVD under 2.5.59 with
ide-cd" thread on the linux kernel list). Most users of
CHECK_CONDITION found out to their surprise that it is
shifted 1 bit (right) from those values found in the
standards.

The attachment marks the orginal list of SCSI status codes
as deprecated and supplies defines taken from the most
recent SAM-3 draft.
parent 6a3354a9
...@@ -104,7 +104,26 @@ extern const unsigned char scsi_command_size[8]; ...@@ -104,7 +104,26 @@ extern const unsigned char scsi_command_size[8];
/* /*
* Status codes * SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft
* T10/1561-D Revision 4 Draft dated 7th November 2002.
*/
#define SAM_STAT_GOOD 0x00
#define SAM_STAT_CHECK_CONDITION 0x02
#define SAM_STAT_CONDITION_MET 0x04
#define SAM_STAT_BUSY 0x08
#define SAM_STAT_IMMEDIATE 0x10
#define SAM_STAT_IMMEDIATE_CONDITION_MET 0x14
#define SAM_STAT_RESERVATION_CONFLICT 0x18
#define SAM_STAT_COMMAND_TERMINATED 0x22 /* obsolete in SAM-3 */
#define SAM_STAT_TASK_SET_FULL 0x28
#define SAM_STAT_ACA_ACTIVE 0x30
#define SAM_STAT_TASK_ABORTED 0x40
/*
* Status codes. These are deprecated as they are shifted 1 bit right
* from those found in the SCSI standards. This causes confusion for
* applications that are ported to several OSes. Prefer SAM Status codes
* above.
*/ */
#define GOOD 0x00 #define GOOD 0x00
......
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