This driver fails to release allocations from pci_alloc_consistent
in its failure paths. Patch below is against 2.4.0-ac12, but should
also apply to Linus' tree cleanly.

regards,

Davej.

-- 
| Dave Jones.        http://www.suse.de/~davej
| SuSE Labs

diff -urN --exclude-from=/home/davej/.exclude linux/drivers/net/pcnet32.c 
linux-dj/drivers/net/pcnet32.c
--- linux/drivers/net/pcnet32.c Sun Jan 28 10:06:06 2001
+++ linux-dj/drivers/net/pcnet32.c      Sun Jan 28 11:12:37 2001
@@ -685,6 +685,7 @@

     if (a == NULL) {
       printk(KERN_ERR "pcnet32: No access methods\n");
+      pci_free_consistent(lp->pci_dev, sizeof(*lp), lp, lp->dma_addr);
       return -ENODEV;
     }
     lp->a = *a;
@@ -731,6 +732,7 @@
            printk(", probed IRQ %d.\n", dev->irq);
        else {
            printk(", failed to detect IRQ line.\n");
+           pci_free_consistent(lp->pci_dev, sizeof(*lp), lp, lp->dma_addr);
            return -ENODEV;
        }
     }


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to