Date: Mon, 7 Apr 1997 00:20:02 -0700 (PDT) From: Petr Lampa <lampa@fee.vutbr.cz> To: freebsd-bugs Subject: Re: i386/3195: ahc panic Message-ID: <199704070720.AAA27745@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR i386/3195; it has been noted by GNATS.
From: Petr Lampa <lampa@fee.vutbr.cz>
To: luigi@labinfo.iet.unipi.it (Luigi Rizzo)
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: i386/3195: ahc panic
Date: Mon, 7 Apr 1997 09:13:19 +0200 (MET DST)
> > From: Petr Lampa <lampa@fee.vutbr.cz>
> > To: freebsd-gnats-submit@freebsd.org, luigi@iet.unipi.it
> > Cc: Subject: Re: i386/3195: ahc panic
> > Date: Fri, 04 Apr 1997 17:47:07 +0200
> >
> > I have got similar problems on Adaptec 3940W and 3940U with
> > 2 disks per channel and FreeBSD-GAMME, FreeBSD-2.2, and
> > FreeBSD-2.2.1. System works only for several days (sometimes
>
> have you tried to update the aic7xxx.seq (microcode) to the latest version ?
> There is one dated 4/4/97 (tonight!) I havent tried it yet.
>
Still the same problems, after some time error:
ahc1:A:1: no active SCB for reconnecting target - issuing ABORT
SAVED_TCL == 0x10
ahc1:A:1: Target did not send an IDENTIFY message
LASTPHAS = 0x0, SAVED_TCL = 0x10
and systems loops in ahc driver, everytime I hit kernel debugger, stack is:
ahc_scsi_cmd
scsi_scsi_cmd
sdstart
free_xs
scsi_done
ahc_done
ahc_run_done_queue
ahc_reset_channel
I have tried to change a bit of code, which probably causes hangup:
*** aic7xxx.c.old Mon Apr 7 09:05:34 1997
--- aic7xxx.c Sun Apr 6 21:47:23 1997
***************
*** 3668,3673 ****
--- 3668,3674 ----
printf("Clearing 'in-reset' flag\n");
ahc->in_reset &= (args->bus == 'A' ? ~CHANNEL_A_RESET
: ~CHANNEL_B_RESET);
+ ahc_run_done_queue(ahc);
splx(s);
}
***************
*** 3753,3759 ****
ahc_clear_intstat(ahc);
restart_sequencer(ahc);
}
! ahc_run_done_queue(ahc);
return found;
}
--- 3754,3760 ----
ahc_clear_intstat(ahc);
restart_sequencer(ahc);
}
! if (!initiate_reset) ahc_run_done_queue(ahc);
return found;
}
After that, system doesn't loop in ahc driver, but it cannot
recover from ahc timeout. Here is syslog:
Apr 7 05:00:29 boco /kernel: ahc1:A:0: no active SCB for reconnecting target - issuing ABORT
Apr 7 05:00:29 boco /kernel: SAVED_TCL == 0x0
Apr 7 05:00:39 boco /kernel: sd4(ahc1:1:0): SCB 0x1 - timed out in message in phase, SCSISIGI == 0xf4
Apr 7 05:00:39 boco /kernel: SEQADDR == 0x42
Apr 7 05:00:39 boco /kernel: sd3(ahc1:0:0): abort message in message buffer
Apr 7 05:00:39 boco /kernel: sd4(ahc1:1:0): SCB 0x3 timedout while recovery in progress
Apr 7 05:00:39 boco /kernel: sd3(ahc1:0:0): SCB 0x2 - timed out in message in phase, SCSISIGI == 0xf4
Apr 7 05:00:39 boco /kernel: SEQADDR == 0x42
Apr 7 05:00:39 boco /kernel: ahc1: Issued Channel A Bus Reset. 4 SCBs aborted
Apr 7 05:00:39 boco /kernel: Clearing bus reset
Apr 7 05:00:39 boco /kernel: Timedout SCB handled by another timeout
Apr 7 05:00:39 boco /kernel: Clearing 'in-reset' flag
Apr 7 05:00:39 boco /kernel: sd3(ahc1:0:0): no longer in timeout
Apr 7 05:00:39 boco /kernel: sd3(ahc1:0:0): UNIT ATTENTION asc:29,0
Apr 7 05:00:39 boco /kernel: sd3(ahc1:0:0): Power on, reset, or bus device reset occurred field replaceable unit: 14
Apr 7 05:00:39 boco /kernel: , retries:3
Apr 7 05:00:49 boco /kernel: sd4(ahc1:1:0): SCB 0x3 - timed out while idle, LASTPHASE == 0x1, SCSISIGI == 0x0
Apr 7 05:00:49 boco /kernel: SEQADDR == 0x5
Apr 7 05:00:49 boco /kernel: sd4(ahc1:1:0): SCB 3: Immediate reset. Flags = 0x401
Apr 7 05:00:49 boco /kernel: ahc1: Issued Channel A Bus Reset. 2 SCBs aborted
Apr 7 05:00:49 boco /kernel: Timedout SCB handled by another timeout
Apr 7 05:00:49 boco /kernel: Clearing bus reset
Apr 7 05:00:49 boco /kernel: Clearing 'in-reset' flag
Apr 7 05:00:49 boco /kernel: sd4(ahc1:1:0): no longer in timeout
Apr 7 05:00:59 boco /kernel: sd4(ahc1:1:0): SCB 0x3 - timed out while idle, LASTPHASE == 0x1, SCSISIGI == 0x0
Apr 7 05:00:59 boco /kernel: SEQADDR == 0x5
Apr 7 05:00:59 boco /kernel: sd4(ahc1:1:0): SCB 3: Immediate reset. Flags = 0x401
Apr 7 05:00:59 boco /kernel: ahc1: Issued Channel A Bus Reset. 2 SCBs aborted
Apr 7 05:00:59 boco /kernel: Timedout SCB handled by another timeout
Apr 7 05:00:59 boco /kernel: Clearing bus reset
Apr 7 05:00:59 boco /kernel: Clearing 'in-reset' flag
Apr 7 05:00:59 boco /kernel: sd4(ahc1:1:0): no longer in timeout
Apr 7 05:01:09 boco /kernel: sd4(ahc1:1:0): SCB 0x3 - timed out while idle, LASTPHASE == 0x1, SCSISIGI == 0x0
Apr 7 05:01:09 boco /kernel: SEQADDR == 0x7
Apr 7 05:01:09 boco /kernel: sd4(ahc1:1:0): SCB 3: Immediate reset. Flags = 0x401
Apr 7 05:01:09 boco /kernel: ahc1: Issued Channel A Bus Reset. 2 SCBs aborted
Apr 7 05:01:09 boco /kernel: Timedout SCB handled by another timeout
Apr 7 05:01:09 boco /kernel: Clearing bus reset
Apr 7 05:01:09 boco /kernel: Clearing 'in-reset' flag
Apr 7 05:01:09 boco /kernel: sd4(ahc1:1:0): no longer in timeout
Apr 7 05:01:19 boco /kernel: sd4(ahc1:1:0): SCB 0x3 - timed out while idle, LASTPHASE == 0x1, SCSISIGI == 0x0
Apr 7 05:01:19 boco /kernel: SEQADDR == 0x5
Apr 7 05:01:19 boco /kernel: sd4(ahc1:1:0): SCB 3: Immediate reset. Flags = 0x401
Apr 7 05:01:19 boco /kernel: ahc1: Issued Channel A Bus Reset. 2 SCBs aborted
Apr 7 05:01:19 boco /kernel: Timedout SCB handled by another timeout
Apr 7 05:01:19 boco /kernel: Clearing bus reset
Apr 7 05:01:19 boco /kernel: Clearing 'in-reset' flag
Apr 7 05:01:19 boco /kernel: sd4(ahc1:1:0): no longer in timeout
Apr 7 05:01:20 boco /kernel: sd3(ahc1:0:0): UNIT ATTENTION asc:29,0
Apr 7 05:01:20 boco /kernel: sd3(ahc1:0:0): Power on, reset, or bus device reset occurred field replaceable unit: 14
Apr 7 05:01:20 boco /kernel: , retries:4
Apr 7 05:01:29 boco /kernel: sd4(ahc1:1:0): SCB 0x3 - timed out while idle, LASTPHASE == 0x1, SCSISIGI == 0x0
Apr 7 05:01:29 boco /kernel: SEQADDR == 0x4
Apr 7 05:01:29 boco /kernel: sd4(ahc1:1:0): SCB 3: Immediate reset. Flags = 0x401
Apr 7 05:01:30 boco /kernel: ahc1: Issued Channel A Bus Reset. 2 SCBs aborted
Apr 7 05:01:30 boco /kernel: Timedout SCB handled by another timeout
Apr 7 05:01:30 boco /kernel: Clearing bus reset
Apr 7 05:01:30 boco /kernel: Clearing 'in-reset' flag
Apr 7 05:01:30 boco /kernel: sd4(ahc1:1:0): no longer in timeout
Apr 7 05:01:40 boco /kernel: sd4(ahc1:1:0): SCB 0x3 - timed out while idle, LASTPHASE == 0x1, SCSISIGI == 0x0
....
Petr Lampa
--
Department of Computer Science and Engineering E-mail: lampa@fee.vutbr.cz
Faculty of El. Engineering and Comp. Science Phone: (+420 5) 7275/225,111
Technical University of Brno Fax: (+420 5) 41211141
Bozetechova 2, 612 66 Brno, Czech Republic
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704070720.AAA27745>
