Re: [PATCH 1/12] drivers/isdn/hisax/avm_pci.c: replace pci_find_devicewith pci_get_device

From: Jeff Garzik
Date: Sat Jul 14 2007 - 20:41:23 EST


S.ÃaÄlar Onur wrote:
@@ -858,5 +858,10 @@ ready:
cs->irq_func = &avm_pcipnp_interrupt;
cs->writeisac(cs, ISAC_MASK, 0xFF);
ISACVersion(cs, (cs->subtyp == AVM_FRITZ_PCI) ? "AVM PCI:" : "AVM PnP:");
+ pci_dev_put(dev_avm);
return (1);
+
+dev_avm_cleanup:
+ pci_dev_put(dev_avm);
+ return (0);
}


NAK -- every single one of these patches is wrong. All you did was make the warning go away, while INTRODUCING new lifetime problems.

The ISDN PCI driver obviously continues execution after the setup function ends, yet you pci_dev_put() the device at the end of setup. As a result, no reference is held even though we continue using the device.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/