summaryrefslogtreecommitdiff
path: root/drivers/ata/pata_ali.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-05-20 00:10:22 +0400
committerJeff Garzik <jgarzik@redhat.com>2010-05-26 03:40:30 +0400
commit1c5afdf7a629d2e77de8dd043b97a33dcd7e6dfa (patch)
tree9f29bfdd32dd1bf497167cd7a8f596c7680059dd /drivers/ata/pata_ali.c
parentc3b2889424c26f3b42962b6f39aabb4f1fd1b576 (diff)
downloadlinux-1c5afdf7a629d2e77de8dd043b97a33dcd7e6dfa.tar.xz
libata-sff: separate out BMDMA init
Separate out ata_pci_bmdma_prepare_host() and ata_pci_bmdma_init_one() from their SFF counterparts. SFF ones no longer try to initialize BMDMA or set PCI master. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/pata_ali.c')
-rw-r--r--drivers/ata/pata_ali.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
index f306e10c748d..794ec6e3275d 100644
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -583,7 +583,10 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
ppi[0] = &info_20_udma;
}
- return ata_pci_sff_init_one(pdev, ppi, &ali_sht, NULL, 0);
+ if (!ppi[0]->mwdma_mask && !ppi[0]->udma_mask)
+ return ata_pci_sff_init_one(pdev, ppi, &ali_sht, NULL, 0);
+ else
+ return ata_pci_bmdma_init_one(pdev, ppi, &ali_sht, NULL, 0);
}
#ifdef CONFIG_PM