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).