LKML Archive on lore.kernel.org help / color / mirror / Atom feed
* Re: [SCSI] gdth: update deprecated pci_find_device [not found] <200802140059.m1E0xrID025375@hera.kernel.org> @ 2008-02-14 4:43 ` Jeff Garzik 2008-02-14 14:50 ` James Bottomley 0 siblings, 1 reply; 3+ messages in thread From: Jeff Garzik @ 2008-02-14 4:43 UTC (permalink / raw) To: Linux Kernel Mailing List Cc: linux-scsi, Sergio Luis, James Bottomley, Andrew Morton Linux Kernel Mailing List wrote: > Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99109301d103fbf0de43fc5a580a406c12a501e0 > Commit: 99109301d103fbf0de43fc5a580a406c12a501e0 > Parent: 61c92814dc324b541391757062ff02fbf3b08086 > Author: Sergio Luis <sergio@larces.uece.br> > AuthorDate: Tue Feb 12 20:48:03 2008 -0300 > Committer: James Bottomley <James.Bottomley@HansenPartnership.com> > CommitDate: Wed Feb 13 09:33:10 2008 -0600 > > [SCSI] gdth: update deprecated pci_find_device > > Fix compilation warning in gdth.c, which was using the deprecated > pci_find_device. > > drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495) > > Changing it to use pci_get_device, instead. > > Signed-off-by: Sergio Luis <sergio@larces.uece.br> > Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> > --- > drivers/scsi/Kconfig | 2 +- > drivers/scsi/gdth.c | 7 +++++-- > 2 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig > index a5f0aaa..a7a0813 100644 > --- a/drivers/scsi/Kconfig > +++ b/drivers/scsi/Kconfig > @@ -722,7 +722,7 @@ config SCSI_FD_MCS > > config SCSI_GDTH > tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" > - depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API && PCI_LEGACY > + depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API > ---help--- > Formerly called GDT SCSI Disk Array Controller Support. > > diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c > index 7079fef..6d67f5c 100644 > --- a/drivers/scsi/gdth.c > +++ b/drivers/scsi/gdth.c > @@ -642,12 +642,15 @@ static void __init gdth_search_dev(gdth_pci_str *pcistr, ushort *cnt, > *cnt, vendor, device)); > > pdev = NULL; > - while ((pdev = pci_find_device(vendor, device, pdev)) > + while ((pdev = pci_get_device(vendor, device, pdev)) > != NULL) { > if (pci_enable_device(pdev)) > continue; > - if (*cnt >= MAXHA) > + if (*cnt >= MAXHA) { > + pci_dev_put(pdev); > return; > + } > + Why no pci_dev_put() in the module cleanup path? Jeff ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [SCSI] gdth: update deprecated pci_find_device 2008-02-14 4:43 ` [SCSI] gdth: update deprecated pci_find_device Jeff Garzik @ 2008-02-14 14:50 ` James Bottomley 2008-02-14 15:07 ` Jiri Slaby 0 siblings, 1 reply; 3+ messages in thread From: James Bottomley @ 2008-02-14 14:50 UTC (permalink / raw) To: Jeff Garzik Cc: Linux Kernel Mailing List, linux-scsi, Sergio Luis, Andrew Morton On Wed, 2008-02-13 at 23:43 -0500, Jeff Garzik wrote: > Linux Kernel Mailing List wrote: > > Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99109301d103fbf0de43fc5a580a406c12a501e0 > > Commit: 99109301d103fbf0de43fc5a580a406c12a501e0 > > Parent: 61c92814dc324b541391757062ff02fbf3b08086 > > Author: Sergio Luis <sergio@larces.uece.br> > > AuthorDate: Tue Feb 12 20:48:03 2008 -0300 > > Committer: James Bottomley <James.Bottomley@HansenPartnership.com> > > CommitDate: Wed Feb 13 09:33:10 2008 -0600 > > > > [SCSI] gdth: update deprecated pci_find_device > > > > Fix compilation warning in gdth.c, which was using the deprecated > > pci_find_device. > > > > drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495) > > > > Changing it to use pci_get_device, instead. > > > > Signed-off-by: Sergio Luis <sergio@larces.uece.br> > > Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> > > --- > > drivers/scsi/Kconfig | 2 +- > > drivers/scsi/gdth.c | 7 +++++-- > > 2 files changed, 6 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig > > index a5f0aaa..a7a0813 100644 > > --- a/drivers/scsi/Kconfig > > +++ b/drivers/scsi/Kconfig > > @@ -722,7 +722,7 @@ config SCSI_FD_MCS > > > > config SCSI_GDTH > > tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" > > - depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API && PCI_LEGACY > > + depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API > > ---help--- > > Formerly called GDT SCSI Disk Array Controller Support. > > > > diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c > > index 7079fef..6d67f5c 100644 > > --- a/drivers/scsi/gdth.c > > +++ b/drivers/scsi/gdth.c > > @@ -642,12 +642,15 @@ static void __init gdth_search_dev(gdth_pci_str *pcistr, ushort *cnt, > > *cnt, vendor, device)); > > > > pdev = NULL; > > - while ((pdev = pci_find_device(vendor, device, pdev)) > > + while ((pdev = pci_get_device(vendor, device, pdev)) > > != NULL) { > > if (pci_enable_device(pdev)) > > continue; > > - if (*cnt >= MAXHA) > > + if (*cnt >= MAXHA) { > > + pci_dev_put(pdev); > > return; > > + } > > + > > Why no pci_dev_put() in the module cleanup path? Because the pci dev is never got ... nasty I know, but it's the way this driver works. the while (pci_get_device()) runs until the device returned is NULL. At that point, every PCI device it ever returned has been put. The only problem is premature exit from the while loop, which is why I made the original author do a put along that path. James ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [SCSI] gdth: update deprecated pci_find_device 2008-02-14 14:50 ` James Bottomley @ 2008-02-14 15:07 ` Jiri Slaby 0 siblings, 0 replies; 3+ messages in thread From: Jiri Slaby @ 2008-02-14 15:07 UTC (permalink / raw) To: James Bottomley Cc: Jeff Garzik, Linux Kernel Mailing List, linux-scsi, Sergio Luis, Andrew Morton On 02/14/2008 03:50 PM, James Bottomley wrote: > On Wed, 2008-02-13 at 23:43 -0500, Jeff Garzik wrote: >> Linux Kernel Mailing List wrote: >>> Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99109301d103fbf0de43fc5a580a406c12a501e0 >>> Commit: 99109301d103fbf0de43fc5a580a406c12a501e0 >>> Parent: 61c92814dc324b541391757062ff02fbf3b08086 >>> Author: Sergio Luis <sergio@larces.uece.br> >>> AuthorDate: Tue Feb 12 20:48:03 2008 -0300 >>> Committer: James Bottomley <James.Bottomley@HansenPartnership.com> >>> CommitDate: Wed Feb 13 09:33:10 2008 -0600 >>> >>> [SCSI] gdth: update deprecated pci_find_device >>> >>> Fix compilation warning in gdth.c, which was using the deprecated >>> pci_find_device. >>> >>> drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495) >>> >>> Changing it to use pci_get_device, instead. >>> >>> Signed-off-by: Sergio Luis <sergio@larces.uece.br> >>> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> >>> --- >>> drivers/scsi/Kconfig | 2 +- >>> drivers/scsi/gdth.c | 7 +++++-- >>> 2 files changed, 6 insertions(+), 3 deletions(-) >>> >>> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig >>> index a5f0aaa..a7a0813 100644 >>> --- a/drivers/scsi/Kconfig >>> +++ b/drivers/scsi/Kconfig >>> @@ -722,7 +722,7 @@ config SCSI_FD_MCS >>> >>> config SCSI_GDTH >>> tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" >>> - depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API && PCI_LEGACY >>> + depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API >>> ---help--- >>> Formerly called GDT SCSI Disk Array Controller Support. >>> >>> diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c >>> index 7079fef..6d67f5c 100644 >>> --- a/drivers/scsi/gdth.c >>> +++ b/drivers/scsi/gdth.c >>> @@ -642,12 +642,15 @@ static void __init gdth_search_dev(gdth_pci_str *pcistr, ushort *cnt, >>> *cnt, vendor, device)); >>> >>> pdev = NULL; >>> - while ((pdev = pci_find_device(vendor, device, pdev)) >>> + while ((pdev = pci_get_device(vendor, device, pdev)) >>> != NULL) { >>> if (pci_enable_device(pdev)) >>> continue; >>> - if (*cnt >= MAXHA) >>> + if (*cnt >= MAXHA) { >>> + pci_dev_put(pdev); >>> return; >>> + } >>> + >> Why no pci_dev_put() in the module cleanup path? > > Because the pci dev is never got ... nasty I know, but it's the way this > driver works. Then the change fixes nothing from my point of view. The core might drop the device from the system at any time after pci_get_device()'s next call. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-02-14 15:07 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <200802140059.m1E0xrID025375@hera.kernel.org> 2008-02-14 4:43 ` [SCSI] gdth: update deprecated pci_find_device Jeff Garzik 2008-02-14 14:50 ` James Bottomley 2008-02-14 15:07 ` Jiri Slaby
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).