Messages in this thread |  | | Date | Sat, 16 Sep 2006 14:39:38 +0159 | | From | Jiri Slaby <> | | Subject | Re: [PATCH] mxser: PCI refcounts |
| |
Alan Cox wrote: > Switch to pci ref counts for mxser when handling PCI devices. Use > pci_get_device and drop the reference when we finish and unload.
Please, don't do that. These all drivers need to be rewritten to pci probing (for this one I have a patch, but I waited for confirmation of previous patchset, but nothing has come, so perhaps I will clone it as NEW/EXPERIMENTAL 1.9.1-with-pci-probing-driver) and when pci_find_device is there, we can `grep -r` it to know, which drivers need that. The same holds for zoran cards, which somebody wanted to play with (and rework), but as I can see, nothing happened :/.
[Changes in devices such as mtd are OK in my eyes...]
> Signed-off-by: Alan Cox <alan@redhat.com> > > diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-rc6-mm1/drivers/char/mxser.c linux-2.6.18-rc6-mm1/drivers/char/mxser.c > --- linux.vanilla-2.6.18-rc6-mm1/drivers/char/mxser.c 2006-09-11 17:00:09.000000000 +0100 > +++ linux-2.6.18-rc6-mm1/drivers/char/mxser.c 2006-09-14 16:14:52.000000000 +0100 > @@ -538,6 +538,7 @@ > if (pdev != NULL) { /* PCI */ > release_region(pci_resource_start(pdev, 2), pci_resource_len(pdev, 2)); > release_region(pci_resource_start(pdev, 3), pci_resource_len(pdev, 3)); > + pci_dev_put(pdev); > } else { > release_region(mxsercfg[i].ioaddr[0], 8 * mxsercfg[i].ports); > release_region(mxsercfg[i].vector, 1); > @@ -862,9 +865,9 @@ > index = 0; > b = 0; > while (b < n) { > - pdev = pci_find_device(mxser_pcibrds[b].vendor, > + pdev = pci_get_device(mxser_pcibrds[b].vendor, > mxser_pcibrds[b].device, pdev); > - if (pdev == NULL) { > + if (pdev == NULL) { > b++; > continue; > } > @@ -916,6 +919,9 @@ > if (mxser_initbrd(m, &hwconf) < 0) > continue; > m++; > + /* Keep an extra reference if we succeeded. It will > + be returned at unload time */ > + pci_dev_get(pdev); > } > } > #endif >
regards, -- http://www.fi.muni.cz/~xslaby/ Jiri Slaby faculty of informatics, masaryk university, brno, cz e-mail: jirislaby gmail com, gpg pubkey fingerprint: B674 9967 0407 CE62 ACC8 22A0 32CC 55C3 39D4 7A7E - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |