Re: Linux 2.6.18-rc6

From: Doug Ledford
Date: Sun Sep 17 2006 - 14:18:09 EST


On Sun, 2006-09-17 at 09:05 -0500, James Bottomley wrote:
> On Sun, 2006-09-17 at 07:38 +0200, Olaf Hering wrote:
> > As pointed out in private mail, this patch fixes the machine check for
> > me. Thanks Doug.
> >
> > Maybe the AHC_ULTRA2 feature check is needed as well for other cards.
>
> It is ... the non ULTRA2 non twin cards might not have this register
> (and if they do, it doesn't reflect the LVD/SE bus setting).
>
> This is a pretty significant alteration, so it's not a -rc candidate,
> but I'll put it in scsi-misc and see how it works out.

No, it's present on all cards. Reading it for signaling may not be
needed on non-ultra 2 cards (as far as LVD goes), but it won't hurt.
However, all the other places this particular register is touched in the
driver, the card is already paused. Olaf's problem may be that this is
one of the registers that require the sequencer be paused before you
touch it. Depending on the chipset, if you touch a pause only register,
it either pukes up like Olaf is seeing or auto pauses the chip. I had
thought that all the Ultra2 chipsets did autopause, but maybe the
current driver disables that (and even if it did autopause, you would
still need an unpause or else the card stops until the next time
something happens that includes a pause/unpause pair). Anyway, I asked
Olaf to try wrapping the read in an ahc_lock/unlock and pause/unpause
pair to see if it makes a difference. We'll see.

--
Doug Ledford <dledford@xxxxxxxxxx>
GPG KeyID: CFBFF194
http://people.redhat.com/dledford

Infiniband specific RPMs available at
http://people.redhat.com/dledford/Infiniband

Attachment: signature.asc
Description: This is a digitally signed message part