[7625] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: Linux megaraid 1.05 driver patch for doing pass-through ioctl's

daemon@ATHENA.MIT.EDU (ard@wau.mis.ah.nl)
Mon Dec 6 02:57:45 1999

From: ard@wau.mis.ah.nl
Date:   Mon, 6 Dec 1999 08:56:10 +0100
To: Ard van Breemen <ard@cstmel.nl.eu.org>
Cc: Douglas Gilbert <dgilbert@interlog.com>,
	linux-scsi@vger.rutgers.edu
Message-ID: <19991206085610.A4470@wau.mis.ah.nl>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
In-Reply-To: <19991205184205.A1243@cstmel.nl.eu.org>

On Sun, Dec 05, 1999 at 06:42:05PM +0100, Ard van Breemen wrote:
> I will reply on this again with the patch...
> But I do not want to dial my job right now...
Since it has gone to the wrong list,
here is the patch again what I was talking about:

--- old/drivers/scsi/megaraid.c	Fri Dec  3 11:13:15 1999
+++ linux/drivers/scsi/megaraid.c	Fri Dec  3 11:12:31 1999
@@ -618,14 +618,17 @@
  SCpnt->result = 0;  
 
 if ((SCpnt->cmnd[0] & 0x80) ) {/* i.e. ioctl cmd such as 0x80, 0x81 of megamgr*/
-    switch (status) {
-      case 0xF0:
-      case 0xF4:
-	SCpnt->result=(DID_BAD_TARGET<<16)|status;
-        break;
-      default:
-	SCpnt->result|=status;
-   }/*end of switch*/
+	/*
+	 * At this point I see no other solution than return
+	 * DID_BAD_TARGET. This will prevent the scsi-obsolete
+	 * code from retrying our precious ioctls...
+	 * Now we need a mapping between the status byte and
+	 * the 0x1f masked shifted left 1 statys byte in the
+	 * linux kernel.
+	 */
+  if(status) {
+    SCpnt->result=(DID_BAD_TARGET<<16)|status;
+  }
 }
 else{
   /* Convert MegaRAID status to Linux error code */

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

home help back first fref pref prev next nref lref last post