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 */
}