]> git.baikalelectronics.ru Git - kernel.git/commit
libata-core/sff: Fix multiple assumptions about DMA
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Thu, 7 Jun 2007 15:19:15 +0000 (16:19 +0100)
committerJeff Garzik <jeff@garzik.org>
Sun, 10 Jun 2007 02:40:28 +0000 (22:40 -0400)
commita0d30d4c5cc4bff1171aa27976f003a8650a9942
tree9a526823ddba8dd8cd07bb5d918acf7c5e820db7
parentb5b87aff5078827e0c2d23e02d2b36dc2ac67226
libata-core/sff: Fix multiple assumptions about DMA

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: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-core.c
drivers/ata/libata-sff.c
include/linux/libata.h