Subject: [patch][0/6] ide: sanitize PIO code, take 2


Hi,

This patchkit:

- converts PIO code to use scatterlists instead of directly walking bios
- fixes longstanding 'data integrity on error' issue in non-taskfile PIO code
- unifies single/multiple PIO handling
- unifies taskfile/non-taskfile PIO handling

Changes:
- resync with -bk (first two patches are now merged)
- ide_sg_init() become generic init_sg_one() helper (linux/scatterlist.h)
(thanks to Jeff and Jens for suggestions)
- use init_sg_one() in Etrax IDE driver
- bugfix: use sg->length instead of sg_dma_len(sg)
(found thanks to rmk's concerns)
- uninline ide_pio_multi()
- make ide_pio_sector() and task_error() static
- drop removal of bio walking for now

Testing (esp. on non x86) and comments are welcomed.

BTW 'sanitize DMA' patchkit should be ready soon.

Bartlomiej


2004-09-13 00:35:07

by Jeff Garzik

[permalink] [raw]
Subject: Re: [patch][0/6] ide: sanitize PIO code, take 2

Bartlomiej Zolnierkiewicz wrote:
> - bugfix: use sg->length instead of sg_dma_len(sg)
> (found thanks to rmk's concerns)

Details?

IIRC this breaks ia64 and/or other platforms?

Jeff


Subject: Re: [patch][0/6] ide: sanitize PIO code, take 2

On Monday 13 September 2004 02:34, Jeff Garzik wrote:
> Bartlomiej Zolnierkiewicz wrote:
> > - bugfix: use sg->length instead of sg_dma_len(sg)
> > (found thanks to rmk's concerns)
>
> Details?

Unlike libata we don't use DMA API for PIO.

> IIRC this breaks ia64 and/or other platforms?

No pci_[un]map_sg() so sg->length won't be ever changed.

Bartlomiej