public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* Status_byte() in drivers/scsi/scsi.h
@ 2003-06-19  8:47 Sachin Sant
  2003-06-19  9:10 ` Douglas Gilbert
  0 siblings, 1 reply; 6+ messages in thread
From: Sachin Sant @ 2003-06-19  8:47 UTC (permalink / raw)
  To: linux-scsi

There seems to be some problem with the status_byte( ) in scsi.h

A SAM status code SAM_STAT_TASK_ABORTED is ignored by status_byte() - it
returns a status GOOD. If SAM status code SAM_STAT_TASK_ABORTED is set
status_byte() must return 0x20.

In kernel file include/scsi/scsi.h new SCSI Architecture Model (SAM)
Status Codes were presented as following:
#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_INTERMEDIATE    0x10
#define SAM_STAT_INTERMEDIATE_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

This means that an implementation of a status_byte() function in
drivers/scsi/scsi.h has to be changed from:

  #define status_byte(result) (((result) >> 1) & 0x1f)
to:
  #define status_byte(result) (((result) >> 1) & 0x3f)

Otherwise it would ignore a status code SAM_STAT_TASK_ABORTED and return
GOOD.

Please let me know your thoughts.

Thanks
-Sachin

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-06-20 14:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-19  8:47 Status_byte() in drivers/scsi/scsi.h Sachin Sant
2003-06-19  9:10 ` Douglas Gilbert
2003-06-20  8:40   ` [Patch]Status_byte() " Sachin Sant
2003-06-20 12:37     ` James Bottomley
2003-06-20 13:52       ` Douglas Gilbert
2003-06-20 14:39         ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox