public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* New SCSI host_byte status code.
@ 2004-03-09 13:06 Naveen Burmi
  0 siblings, 0 replies; only message in thread
From: Naveen Burmi @ 2004-03-09 13:06 UTC (permalink / raw)
  To: linux-scsi; +Cc: davmyers, Clay Haapala

[-- Attachment #1: Type: text/plain, Size: 381 bytes --]


At present there is no way to retry, if allowed, a scsi command without 
decrementing the scsi command's retry count.

Please find a patch attached, which is submitted, for adding a new host_byte 
status code called "DID_IMM_RETRY". This enables the Low Level SCSI drivers 
to initiate retry of a scsi command without decrementing the scsi commad's 
retry count.

Thanks,
Naveen.

[-- Attachment #2: DID_IMM_RETRY.patch --]
[-- Type: text/x-diff, Size: 1707 bytes --]

diff -Nuar linux-2.6.3/drivers/scsi/constants.c linux-2.6.3.new/drivers/scsi/constants.c
--- linux-2.6.3/drivers/scsi/constants.c	2004-02-25 17:11:53.212334320 +0530
+++ linux-2.6.3.new/drivers/scsi/constants.c	2004-02-25 17:10:04.187908552 +0530
@@ -1135,7 +1135,7 @@
 static const char * hostbyte_table[]={
 "DID_OK", "DID_NO_CONNECT", "DID_BUS_BUSY", "DID_TIME_OUT", "DID_BAD_TARGET", 
 "DID_ABORT", "DID_PARITY", "DID_ERROR", "DID_RESET", "DID_BAD_INTR",
-"DID_PASSTHROUGH", "DID_SOFT_ERROR", NULL};
+"DID_PASSTHROUGH", "DID_SOFT_ERROR", "DID_IMM_RETRY", NULL};
 
 void print_hostbyte(int scsiresult)
 {   static int maxcode=0;
diff -Nuar linux-2.6.3/drivers/scsi/scsi_error.c linux-2.6.3.new/drivers/scsi/scsi_error.c
--- linux-2.6.3/drivers/scsi/scsi_error.c	2004-02-25 17:11:48.453057840 +0530
+++ linux-2.6.3.new/drivers/scsi/scsi_error.c	2004-02-25 17:08:53.324681400 +0530
@@ -1181,6 +1181,8 @@
 		 */
 	case DID_SOFT_ERROR:
 		goto maybe_retry;
+	case DID_IMM_RETRY:
+		return NEEDS_RETRY;
 
 	case DID_ERROR:
 		if (msg_byte(scmd->result) == COMMAND_COMPLETE &&
diff -Nuar linux-2.6.3/include/scsi/scsi.h linux-2.6.3.new/include/scsi/scsi.h
--- linux-2.6.3/include/scsi/scsi.h	2004-02-25 17:12:36.435763360 +0530
+++ linux-2.6.3.new/include/scsi/scsi.h	2004-02-25 17:07:45.909930000 +0530
@@ -266,6 +266,7 @@
 #define DID_BAD_INTR    0x09	/* Got an interrupt we weren't expecting.  */
 #define DID_PASSTHROUGH 0x0a	/* Force command past mid-layer            */
 #define DID_SOFT_ERROR  0x0b	/* The low level driver just wish a retry  */
+#define DID_IMM_RETRY   0x0c	/* Retry without decrementing retry count  */
 #define DRIVER_OK       0x00	/* Driver status                           */
 
 /*

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-03-09 13:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-09 13:06 New SCSI host_byte status code Naveen Burmi

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