On Sun, 2007-07-15 at 03:40 -0400, Jeff Garzik wrote:
> To be more clear, your solution is incorrect unless the pci_dev_put()
> occurs after the last reference to hw.{elsa,diva,hfc,njet,...}.dev,
> which is where the HiSax ISDN drivers store their reference to struct
> pci_dev during the runtime life of the PCI device.
>
> Am I missing where your patch does this?
It is really missing :-(
>
> By way of further interest, a few hours _before_ (yes, really) I saw
> your patches, I resumed converting the ISDN HiSax PCI drivers to use the
> PCI driver API. You can find this work in
> git://git.kernel.org/.../jgarzik/misc-2.6.git#isdn-pci.
>
> If you fix your patches' lifetime problems, I will ACK them myself,
> since my effort is a spare time effort. But just wanted you to be aware
> that I am deep into the code you are fixing, and can at least speak
> somewhat knowledgeably on the specific lines of code you are changing.
I can see the bug. Thanks for updating me. I really missed the point
that these whole set of drivers are a part of hisax.ko...
most of the initialization is done in hisax/config.c
Now are you suggesting that we should have a pci_dev_put in config.c
where you have the module_exit.
I am not sure where I can call the dev_put.
consider hisax/avm_pci.c
in which if we have a code like the below
dev_avm = pci_get_device(PCI_VENDOR_ID_AVM,
PCI_DEVICE_ID_AVM_A1, dev_avm))) {
dev_avm is getting initialized in this file
static struct pci_dev *dev_avm __devinitdata = NULL;
so can I do an
extern static struct pci_dev *dev_avm;
in the config.c
and call pci_dev_put(dev_avm) in config.c file's module_exit or
whereever there is an error return?
>
> Jeff
>
>
>
-surya.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]