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

Re: 2.2.10 on Mac IIcx: SCSI doesn't work :-(

> > What struck me as odd was the 'interrupts disabled' part in the SCSI
> > controller probe message. What's that about? Not that SCSI would have
> > worked with ints off, anyway. 
> > 
> That was my "fix" for SCSI problems on my SE/30. And yes, it did fix it
> for a while. When SCSI had interrupts turned on, it gave me an endless
> string of SCSI errors, about commands timing out and coroutines not
> running and whatnot. So I tried turning off interrupts, and that worked.

ARRRGH!!! I'm amazed how that works, but this is definitely the wrong way
to fix SCSI on Mac. Granted, there's no DMA so you can (in theory) get
away without interrupts for a while, but my guess is the first SCSI
command that disconnects will result in the target trying to reselect,
and that will fail without interrupts. 

Better work on finding the interrupt problems in the SCSI driver
(which were mostly sorted at some time in 98 or 99). Compare with the
2.0.36 driver which also produces command timeouts when the host queue is
too long, but still works for all I know. Pay attention to where the old
driver fully enables interrupts from within the interrupt routine (that's
necessary to have a working timer interrupt), and check the interrupt is
really enabled there on 2.2 as well (spin_unlock_irqrestore might only
restore the IPL to what it was before entering the interrupt handler,
which may be insufficient to enable the timer int). 

I'm not looking at the code, just venturing a few wild guesses. But that's
all I can do without that Mac coming with plenty of spare time to start
hacking myself...


Reply to: