Marc Schiffbauer wrote:
> >>EIP; e0a7b3a7 <[aic7xxx]ahc_match_scb+17/c0>   <=====
> Trace; e0a7b79d <[aic7xxx]ahc_search_qinfifo+14d/6b0>
> Trace; e0a7c226 <[aic7xxx]ahc_abort_scbs+66/300>
> Trace; c0234ce3 <__delay+13/30>
> Trace; e0a7c81d <[aic7xxx]ahc_reset_channel+25d/370>
> Trace; e0a70990 <[aic7xxx]ahc_linux_isr+0/270>
> Trace; e0a812a9 <[aic7xxx].rodata.start+c89/157c>
> Trace; e0a7dca7 <[aic7xxx]ahc_pci_config+497/4b0>
> Trace; c0230000 <rpc_new_task+f0/170>
> Trace; e0a6f93e <[aic7xxx]ahc_linux_initialize_scsi_bus+3e/1d0>
> Trace; e0a78855 <[aic7xxx]ahc_set_name+15/30>

I'm curious what happens with the attached patch?

It adds some debugging checks which will halt your kernel with "BUG! at
<file>:line"...

-- 
Jeff Garzik      | Disbelief, that's why you fail.
Building 1024    |
MandrakeSoft     |
Index: linux_2_4/drivers/scsi/aic7xxx/aic7xxx.c
diff -u linux_2_4/drivers/scsi/aic7xxx/aic7xxx.c:1.1.1.26 
linux_2_4/drivers/scsi/aic7xxx/aic7xxx.c:1.1.1.26.36.1
--- linux_2_4/drivers/scsi/aic7xxx/aic7xxx.c:1.1.1.26   Tue May  8 21:50:17 2001
+++ linux_2_4/drivers/scsi/aic7xxx/aic7xxx.c    Sat May 26 19:35:04 2001
@@ -4837,6 +4837,10 @@
 #if AHC_TARGET_MODE
                int group;
 
+               if (!scb->io_ctx)
+                       BUG();
+               if (!scb->hscb)
+                       BUG();
                group = XPT_FC_GROUP(scb->io_ctx->ccb_h.func_code);
                if (role == ROLE_INITIATOR) {
                        match = (group != XPT_FC_GROUP_TMODE)
@@ -4848,6 +4852,8 @@
                               || (tag == SCB_LIST_NULL));
                }
 #else /* !AHC_TARGET_MODE */
+               if (!scb->hscb)
+                       BUG();
                match = ((tag == scb->hscb->tag) || (tag == SCB_LIST_NULL));
 #endif /* AHC_TARGET_MODE */
        }

Reply via email to