diff options
author | Komuro <komurojun-mbn@nifty.com> | 2009-10-23 19:07:39 -0400 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2009-10-24 11:08:37 -0400 |
commit | 94efb72328afa29ea5fd93e48ed17489afcdaa12 (patch) | |
tree | 1bfd6b30ff0d5b19c5a2b925f3b07495c32796b9 /drivers/pcmcia/pd6729.c | |
parent | 5f784336dc02a1c5be3dffac3506bc07c1604cee (diff) |
pcmcia: do not load the pd6729 driver if io_base is NULL
The CL-PD6729 chip in some docking station is not initialized properly
under Linux. In that case, do not load the pd6729 driver.
[Dominik Brodowski <linux@dominikbrodowski.net>: spelling fixes, check for NULL not 0]
Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/pd6729.c')
-rw-r--r-- | drivers/pcmcia/pd6729.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c index 1c39d3438f20..70a33468bcd0 100644 --- a/drivers/pcmcia/pd6729.c +++ b/drivers/pcmcia/pd6729.c | |||
@@ -641,6 +641,12 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev, | |||
641 | if ((ret = pci_enable_device(dev))) | 641 | if ((ret = pci_enable_device(dev))) |
642 | goto err_out_free_mem; | 642 | goto err_out_free_mem; |
643 | 643 | ||
644 | if (!pci_resource_start(dev, 0)) { | ||
645 | printk(KERN_INFO "pd6729: refusing to load the driver " | ||
646 | "as the io_base is 0.\n"); | ||
647 | goto err_out_free_mem; | ||
648 | } | ||
649 | |||
644 | printk(KERN_INFO "pd6729: Cirrus PD6729 PCI to PCMCIA Bridge " | 650 | printk(KERN_INFO "pd6729: Cirrus PD6729 PCI to PCMCIA Bridge " |
645 | "at 0x%llx on irq %d\n", | 651 | "at 0x%llx on irq %d\n", |
646 | (unsigned long long)pci_resource_start(dev, 0), dev->irq); | 652 | (unsigned long long)pci_resource_start(dev, 0), dev->irq); |