Hi,
On 1/18/06, Jeff Garzik <[email protected]> wrote:
> Thomas Backlund wrote:
> > Jeff Garzik wrote:
> >
> >> Thomas Backlund wrote:
> >>
> >>> Richard Bollinger wrote:
> >>>
> >>>>> ata1: BUG: SG size underflow
> >>>>> ata1: status=0x50 { DriveReady SeekComplete }
> >>>
> >>>
> >>>
> >>> and onde by one the raid devices got deactivated until the full
> >>> freeze...
> >>
> >>
> >>
> >> I think I know what's going on with the 'SG size underflow' thingy,
> >> give me a few days to come up with a fix.
> >>
> >> Jeff
> >>
> >>
> >>
> > Any news on this?
> > or is it already fixed ?
>
> Back-burner for the moment :(
I think I have finally found the bug
after auditing the patch for x times...
+ /* Stop DMA, if doing DMA */
+ switch (qc->tf.protocol) {
+ case ATA_PROT_DMA:
+ case ATA_PROT_ATAPI_DMA:
+ ata_bmdma_stop(qc);
It should be sil_bmdma_stop()...
By accident ata_bmdma_stop() is OK for sil3112 so that would
explain why only people with sil3114 reported problems.
My theory is that using ata_bmdma_stop() for sil3114 results
in IRQs for port 2 and 3 not being delivered (because
SIL_INTR_STEERING bit is cleared) and we end up with
dma_stat_mask == 0.
Rest of the patch looks perfectly fine for me. Could somebody
reporting problems with this patch retest with the above change?
+ break;
+ default:
+ /* do nothing */
+ break;
+ }
Bartlomiej
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]