Re: [bug] ata subsystem related crash with latest -git

Jeff Garzik
2007-10-18T08:38:38Z

Jens Axboe wrote:
> On Thu, Oct 18 2007, Jeff Garzik wrote:
>> Ingo Molnar wrote:
>>> * Jens Axboe <jens.axboe@oracle.com> wrote:
>>>> --- a/drivers/scsi/scsi_lib.c
>>>> +++ b/drivers/scsi/scsi_lib.c
>>>> @@ -39,7 +39,7 @@
>>>> * (unless chaining is used). Should ideally fit inside a single page,
>>>> to
>>>> * avoid a higher order allocation.
>>>> */
>>>> -#define SCSI_MAX_SG_SEGMENTS 128
>>>> +#define SCSI_MAX_SG_SEGMENTS 129
>>> this one finally made the trick and it's booting fine now, without any
>>> crashes!
>> Alas, this didn't help me here. I did manage to capture the error messages
>> this time, and in the two machines I'm actively testing on, sata_mv is the
>> driver that's dying in both cases. Machine A additionally has sata_nv,
>> which is working. Machine B additionally has ata_piix, which is working.
>> So in both cases, its sata_mv that is throwing SError complaints:
>
> Theory - ata_sg_is_last() isn't returning true for the last entry. Can
> you double check that it correcly marks the last entry in mv_fill_sg()?
> Alternatively, just try this patch.

Will check in a few minutes, after my current test: I noticed that
sg_tablesize in sata_mv is not LIBATA_MAX_PRD. This is expected
behavior, but I wonder if that difference -- most notably being smaller
than SCSI_MAX_SG_SEGMENTS -- would trigger any latent bugs.

Anyway, we will both have answers momentarily...

Jeff