[PATCH] pcmcia: does not load the pd6729 driver, if io_base is 0

Dominik Brodowski linux at dominikbrodowski.net
Sat Oct 24 11:46:48 EDT 2009


Hey,

On Sat, Oct 24, 2009 at 12:25:44PM +0200, Wolfram Sang wrote:
> Maybe
> 
>  +	if (!pci_resource_start(dev, 0)) {
> 
> to save the cast and use the more common way to check for a NULL-pointer.

yes, that's better (see below). Thanks.

> > +		printk(KERN_INFO "pd6729: failed to load the driver."
> > +				 "since the io_base is 0.\n");
> 
> I'd strongly suggest dev_err or dev_warn here.

They should be replaced all over the driver, not just here -- therefore,
I'd suggest delaying this until post-2.6.32.

Best,
	Dominik

From: Komuro <komurojun-mbn at nifty.com>
Date: Sat, 24 Oct 2009 08:07:39 +0900
Subject: [PATCH] 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 at dominikbrodowski.net>: spelling fixes, check for NULL not 0]
Signed-off-by: Komuro <komurojun-mbn at nifty.com>
Signed-off-by: Dominik Brodowski <linux at dominikbrodowski.net>

diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c
index 1c39d34..70a3346 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,
 	if ((ret = pci_enable_device(dev)))
 		goto err_out_free_mem;
 
+	if (!pci_resource_start(dev, 0)) {
+		printk(KERN_INFO "pd6729: refusing to load the driver "
+				 "as the io_base is 0.\n");
+		goto err_out_free_mem;
+	}
+
 	printk(KERN_INFO "pd6729: Cirrus PD6729 PCI to PCMCIA Bridge "
 		"at 0x%llx on irq %d\n",
 		(unsigned long long)pci_resource_start(dev, 0), dev->irq);



More information about the linux-pcmcia mailing list