Anyway, the patch:
--- 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-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/