[7625] in linux-scsi channel archive
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