• Mark Lord's avatar
    sata_mv: workaround for multi_count errata sata24 · 299b3f8d
    Mark Lord authored
    Workaround for errata SATA#24 in sata_mv.
    This errata affects WRITE_MULTI* commands when
    the device multi_count produces a DRQ block size >= 4Kbytes.
    
    We work around it here by converting such operations
    into ordinary PIO_WRITEs instead.
    
    Note that this might result in a PIO FUA write unavoidably being converted
    into a non-FUA write.  In practice, any system using FUA is also going to be
    using DMA rather than PIO, so this shouldn't affect anyone in the real world.
    Signed-off-by: default avatarMark Lord <mlord@pobox.com>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    299b3f8d
sata_mv.c 115 KB