Subject: Re: panic: done > todo; strategy broken
To: None <current-users@NetBSD.ORG>
From: Jari Kokko <jkokko@tnso13.tele.nokia.fi>
List: current-users
Date: 10/09/1996 20:58:11
Christoph Badura said:
> A reliable way to reproduce this is:
> 
> dd if=/dev/zero of=/dev/rst0 bs=32k count=1
> dd if=/dev/rst0 of=/dev/null bs=16k
> 
> NetBSD 1.1/i386, ncr.c, HP35480A DAT tape.

I have similar problems on sun3, NetBSD-1.2.

Try this patch from Volker Seebode on sys/scsi/st.c

[I edited the patch into a diff -c format.]

*** st.c.orig   Sun May 26 14:43:14 1996
--- st.c        Wed Oct  2 21:26:43 1996
***************
*** 1687,1692 ****
--- 1687,1694 ----
        if ((sense->error_code & SSD_ERRCODE) != 0x70)
                return -1;      /* let the generic code handle it */
        if (st->flags & ST_FIXEDBLOCKS) {
+             /* next if fixes strategy broken panic */
+             if (sense->error_code & SSD_ERRCODE_VALID) 
                xs->resid = info * st->blksize;
                if (sense->flags & SSD_EOM) {
                        st->flags |= ST_EIO_PENDING;


Jari Kokko