Re: BusLogic + SMP == broke

Stephen Frost (sfrost@ns.snowman.net)
Thu, 9 Sep 1999 11:50:28 -0400 (EDT)


On Wed, 8 Sep 1999, Brian Macy wrote:

> Stephen Frost wrote:
> >
> > Get any funny kernel errors on the screen when these locks happened?
> > I've got a BT958D in an SMP machine, and basically every day, damn near EVERY
> > day, it'll lock on me w/ a message bitching about a scsi error or something,
> > I'd have to go look it up again...
>
> Not so lucky... what happens nearly every time:
> - Do a preview scan (xsane, net SANE, or xscanimage)
> - Do a scan at 300dpi
> - Stops part way into the scan and the app doing the scanning locks
> - About 30seconds later the entire machine locks solid, no message, no
> anything

Interesting, I had it lock solid on me this morning w/ nothing on the
screen, though usually it has something, it's just 2 lines of not very usefull
something.

> >From looking at the driver, it isn't doing proper locking. The only
> thing using spinlocks is the ISR itself... which is of little use since
> the other side of the command queue'ing isn't locked. There are stubs
> for non-ISR locks but the function are NOPs. If you do make the
> functions call spinlocks the driver locks up on detection (my guess is
> deadlocking on the spinlock). I'm not sure this is the real problem as
> I'd expect kernel oops over poor resource contention.
>
> I figured I'd take Doug's suggestion and look at the aic7xxx driver and
> see if I can figure out how I can use it as a model to rewrite the
> BusLogic driver... or I may look at the new Mylex DAC960 driver since it
> uses a similar model but appears to at least attempt to use proper
> locking. Driver writing is pretty new to me so I may just break-down,
> give up, and get a new card.
>
> BTW you wouldn't happen to have a Tyan motherboard would you?

Nope, this is an Abit BP6...

Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/