• Alan Cox's avatar
    libata-core/sff: Fix multiple assumptions about DMA · d92e74d3
    Alan Cox authored
    The ata IRQ ack functions are only used when debugging. Unfortunately
    almost every controller that calls them can cause crashes in some
    configurations as there are missing checks for bmdma presence.
    
    In addition ata_port_start insists of installing DMA buffers and pad
    buffers for controllers regardless. The SFF controllers actually need to
    make that decision dynamically at controller setup time and all need the
    same helper - so we add ata_sff_port_start. Future patches will switch
    the SFF drivers to use this.
    Signed-off-by: default avatarAlan Cox <alan@redhat.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    d92e74d3
libata-sff.c 27.8 KB