Port-atari archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

scsi freezing problem with NetBSD current



Hello,

I had scsi freezing problem that has been discussed earlier here with NetBSD 4
running on Atari Falcon. I decided to try NetBSD current and it had
same problem.

It seems that scsi freezing happens because ncr5380 driver sets XS_STS_DONE
before calling scsipi_done(). Since 1.135 revision of scsipi_base.c,
scsipi_done()
bails out early if XS_STS_DONE is set.

Here is description why that check is implemented:
http://mail-index.netbsd.org/tech-kern/2005/09/22/0002.html

Leaving XS_STS_DONE out cures scsi freezing problem with my Falcon.
I tested this with NetBSD current (ncr5380.c,v 1.55).

Another issue is that I have to use loadbsd.ttp with -s option with CT63
accelerated Falcon to disable TT-ram, otherwise my scsi drive is recognized
to have just one sector with total capacity of 512K. Any ideas why
this happens ?


--- /usr/src.0/sys/arch/atari/dev/ncr5380.c     2007-03-06
16:07:15.000000000 +0200
+++ /usr/src/sys/arch/atari/dev/ncr5380.c       2008-10-25
03:00:24.000000000 +0300
@@ -162,7 +162,9 @@
        free_head  = reqp;
        splx(sps);

+#if 0
        xs->xs_status |= XS_STS_DONE;
+#endif
        if (!(reqp->dr_flag & DRIVER_LINKCHK))
                scsipi_done(xs);
 }


-Tuomo


Home | Main Index | Thread Index | Old Index