diff options
author | Alan <alan@lxorguk.ukuu.org.uk> | 2006-12-04 11:36:05 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-04 15:45:51 -0500 |
commit | 8e42a5a220a3369c70d88474e887a6de6a4ae209 (patch) | |
tree | 9d33e2b0a0d52163c3621a4caef5c9d57d6c086a /drivers/ata/pata_ali.c | |
parent | 75f609d2a923b8f1db870e0c63ff41c84c145589 (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/pata_ali.c')
-rw-r--r-- | drivers/ata/pata_ali.c | 6 |
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) { |