2010-11-02 15:05:00

by Atul Sowani

[permalink] [raw]
Subject: [PATCH 2.6.36 1/1] xgifb: change obsolete pci_find_device() with pci_get_device().

Replaced obsolete pci_find_device() calls with pci_get_device() calls. This is
recommended in pci.txt filei in PCI Documentation.

Signed-off-by: Atul Sowani <[email protected]>
---
diff -uprN a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c
--- a/drivers/staging/xgifb/XGI_main_26.c 2010-10-21 02:00:22.000000000 +0530
+++ b/drivers/staging/xgifb/XGI_main_26.c 2010-11-01 14:25:21.032436943 +0530
@@ -483,7 +483,7 @@ XGIfb_query_VGA_config_space(struct xgi_
break;
}

- pdev = pci_find_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
+ pdev = pci_get_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
if (pdev)
valid_pdev = 1;
}


2010-11-02 15:18:27

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 2.6.36 1/1] xgifb: change obsolete pci_find_device() with pci_get_device().

On Tue, Nov 02, 2010 at 08:34:00PM +0530, Atul Sowani wrote:
> Replaced obsolete pci_find_device() calls with pci_get_device() calls. This is
> recommended in pci.txt filei in PCI Documentation.

Yes, but you just caused a resource leak :(

>
> Signed-off-by: Atul Sowani <[email protected]>
> ---
> diff -uprN a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c
> --- a/drivers/staging/xgifb/XGI_main_26.c 2010-10-21 02:00:22.000000000 +0530
> +++ b/drivers/staging/xgifb/XGI_main_26.c 2010-11-01 14:25:21.032436943 +0530
> @@ -483,7 +483,7 @@ XGIfb_query_VGA_config_space(struct xgi_
> break;
> }
>
> - pdev = pci_find_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
> + pdev = pci_get_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);

Please read the documentation for pci_get_device() for the fact that you
now have a reference to the pci device. You need to properly drop it
when finished.

Please change this patch to do that properly and I will be glad to apply
it.

thanks,

greg k-h

2010-11-02 15:20:46

by Arnaud Patard

[permalink] [raw]
Subject: Re: [PATCH 2.6.36 1/1] xgifb: change obsolete pci_find_device() with pci_get_device().

Atul Sowani <[email protected]> writes:
Hi,

> Replaced obsolete pci_find_device() calls with pci_get_device() calls. This is
> recommended in pci.txt filei in PCI Documentation.
>
> Signed-off-by: Atul Sowani <[email protected]>
> ---
> diff -uprN a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c
> --- a/drivers/staging/xgifb/XGI_main_26.c 2010-10-21 02:00:22.000000000 +0530
> +++ b/drivers/staging/xgifb/XGI_main_26.c 2010-11-01 14:25:21.032436943 +0530
> @@ -483,7 +483,7 @@ XGIfb_query_VGA_config_space(struct xgi_
> break;
> }
>
> - pdev = pci_find_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
> + pdev = pci_get_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
> if (pdev)
> valid_pdev = 1;

hmm... I guess that a pci_dev_put() call is lacking if it has been found.

Arnaud

2010-11-02 15:27:11

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 2.6.36 1/1] xgifb: change obsolete pci_find_device() with pci_get_device().

On Tue, Nov 02, 2010 at 04:21:36PM +0100, Arnaud Patard wrote:
> Atul Sowani <[email protected]> writes:
> Hi,
>
> > Replaced obsolete pci_find_device() calls with pci_get_device() calls. This is
> > recommended in pci.txt filei in PCI Documentation.
> >
> > Signed-off-by: Atul Sowani <[email protected]>
> > ---
> > diff -uprN a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c
> > --- a/drivers/staging/xgifb/XGI_main_26.c 2010-10-21 02:00:22.000000000 +0530
> > +++ b/drivers/staging/xgifb/XGI_main_26.c 2010-11-01 14:25:21.032436943 +0530
> > @@ -483,7 +483,7 @@ XGIfb_query_VGA_config_space(struct xgi_
> > break;
> > }
> >
> > - pdev = pci_find_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
> > + pdev = pci_get_device(PCI_VENDOR_ID_SI, nbridge_id, pdev);
> > if (pdev)
> > valid_pdev = 1;
>
> hmm... I guess that a pci_dev_put() call is lacking if it has been found.

Exactly, that is what is needed here.

thanks,

greg k-h