aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorAlan <alan@lxorguk.ukuu.org.uk>2006-12-04 11:36:05 -0500
committerJeff Garzik <jeff@garzik.org>2006-12-04 15:45:51 -0500
commit8e42a5a220a3369c70d88474e887a6de6a4ae209 (patch)
tree9d33e2b0a0d52163c3621a4caef5c9d57d6c086a /drivers/ata
parent75f609d2a923b8f1db870e0c63ff41c84c145589 (diff)
[PATCH] pata_ali: small fixes
Switch to pci_get_bus_and_slot because some x86 systems seem to be handing us a device with dev->bus = NULL. Also don't apply the isa fixup to revision C6 and later of the chip. Really we need to work out wtf is handing us pdev->bus = NULL, but firstly and more importantly we need the drivers working. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/pata_ali.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
index d25563794c8d..c5d61d1911a5 100644
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -34,7 +34,7 @@
34#include <linux/dmi.h> 34#include <linux/dmi.h>
35 35
36#define DRV_NAME "pata_ali" 36#define DRV_NAME "pata_ali"
37#define DRV_VERSION "0.7.1" 37#define DRV_VERSION "0.7.2"
38 38
39/* 39/*
40 * Cable special cases 40 * Cable special cases
@@ -528,7 +528,7 @@ static void ali_init_chipset(struct pci_dev *pdev)
528 pci_read_config_byte(pdev, 0x4B, &tmp); 528 pci_read_config_byte(pdev, 0x4B, &tmp);
529 pci_write_config_byte(pdev, 0x4B, tmp | 0x08); 529 pci_write_config_byte(pdev, 0x4B, tmp | 0x08);
530 } 530 }
531 north = pci_get_slot(pdev->bus, PCI_DEVFN(0,0)); 531 north = pci_get_bus_and_slot(0, PCI_DEVFN(0,0));
532 isa_bridge = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL); 532 isa_bridge = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL);
533 533
534 if (north && north->vendor == PCI_VENDOR_ID_AL && isa_bridge) { 534 if (north && north->vendor == PCI_VENDOR_ID_AL && isa_bridge) {
@@ -537,7 +537,7 @@ static void ali_init_chipset(struct pci_dev *pdev)
537 pci_read_config_byte(isa_bridge, 0x79, &tmp); 537 pci_read_config_byte(isa_bridge, 0x79, &tmp);
538 if (rev == 0xC2) 538 if (rev == 0xC2)
539 pci_write_config_byte(isa_bridge, 0x79, tmp | 0x04); 539 pci_write_config_byte(isa_bridge, 0x79, tmp | 0x04);
540 else if (rev > 0xC2) 540 else if (rev > 0xC2 && rev < 0xC5)
541 pci_write_config_byte(isa_bridge, 0x79, tmp | 0x02); 541 pci_write_config_byte(isa_bridge, 0x79, tmp | 0x02);
542 } 542 }
543 if (rev >= 0x20) { 543 if (rev >= 0x20) {