* [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by
@ 2006-05-27 19:57 trem
2006-05-27 20:09 ` Nish Aravamudan
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: trem @ 2006-05-27 19:57 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 258 bytes --]
From: trem <tremyfr@yahoo.fr>
This patch simply change pci_find_device by pci_get_device, because
pci_find_device is deprecated. pci_dev_put has been added after the
loop to decrement the counter if necessary.
Signed-Off-By: trem <tremyfr@yahoo.fr>
---
[-- Attachment #2: mxser_replace_pci_find_device_by_pci_get_device.patch --]
[-- Type: text/x-patch, Size: 612 bytes --]
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 0fb2fb9..8d235a1 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -817,7 +817,7 @@ static int mxser_init(void)
index = 0;
b = 0;
while (b < n) {
- pdev = pci_find_device(mxser_pcibrds[b].vendor, mxser_pcibrds[b].device, pdev);
+ pdev = pci_get_device(mxser_pcibrds[b].vendor, mxser_pcibrds[b].device, pdev);
if (pdev == NULL) {
b++;
continue;
@@ -854,6 +854,9 @@ static int mxser_init(void)
m++;
}
}
+ if (pdev != NULL) {
+ pci_dev_put(pdev);
+ }
#endif
retval = tty_register_driver(mxvar_sdriver);
[-- Attachment #3: Type: text/plain, Size: 168 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by
2006-05-27 19:57 [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by trem
@ 2006-05-27 20:09 ` Nish Aravamudan
2006-05-27 20:33 ` trem
2006-05-29 21:32 ` Greg KH
2 siblings, 0 replies; 4+ messages in thread
From: Nish Aravamudan @ 2006-05-27 20:09 UTC (permalink / raw)
To: kernel-janitors
On 5/27/06, trem <tremyfr@yahoo.fr> wrote:
> From: trem <tremyfr@yahoo.fr>
>
> This patch simply change pci_find_device by pci_get_device, because
> pci_find_device is deprecated. pci_dev_put has been added after the
> loop to decrement the counter if necessary.
Can't the pci_dev_put() be unconditional? pci_dev_put() does the
checking for NULL itself, it would seem. There are two cases that are
(logicall, not practically, possible):
1) We don't even enter the while loop, which can only occur if someone
alters mxser_pcibrds[]. In this case, we'll call pci_dev_put(pdev),
pdev = NULL, and return from the call immediately.
2) We need to clean-up the last iteration of the loop. In this case
pci_dev_put(pdev) will do the right thing.
Thanks,
Nish
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by
2006-05-27 19:57 [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by trem
2006-05-27 20:09 ` Nish Aravamudan
@ 2006-05-27 20:33 ` trem
2006-05-29 21:32 ` Greg KH
2 siblings, 0 replies; 4+ messages in thread
From: trem @ 2006-05-27 20:33 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 970 bytes --]
Nish Aravamudan wrote:
> On 5/27/06, trem <tremyfr@yahoo.fr> wrote:
>> From: trem <tremyfr@yahoo.fr>
>>
>> This patch simply change pci_find_device by pci_get_device, because
>> pci_find_device is deprecated. pci_dev_put has been added after the
>> loop to decrement the counter if necessary.
>
> Can't the pci_dev_put() be unconditional? pci_dev_put() does the
> checking for NULL itself, it would seem. There are two cases that are
> (logicall, not practically, possible):
>
> 1) We don't even enter the while loop, which can only occur if someone
> alters mxser_pcibrds[]. In this case, we'll call pci_dev_put(pdev),
> pdev == NULL, and return from the call immediately.
>
> 2) We need to clean-up the last iteration of the loop. In this case
> pci_dev_put(pdev) will do the right thing.
>
> Thanks,
> Nish
>
Hi
you're right pci_dev_put check if the parameter is NULL, so checking it
before
is useless. It just avoid to call the function.
I send a new patch
trem
[-- Attachment #2: mxser_replace_pci_find_device_by_pci_get_device.patch --]
[-- Type: text/x-patch, Size: 585 bytes --]
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 0fb2fb9..28298dc 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -817,7 +817,7 @@ static int mxser_init(void)
index = 0;
b = 0;
while (b < n) {
- pdev = pci_find_device(mxser_pcibrds[b].vendor, mxser_pcibrds[b].device, pdev);
+ pdev = pci_get_device(mxser_pcibrds[b].vendor, mxser_pcibrds[b].device, pdev);
if (pdev == NULL) {
b++;
continue;
@@ -854,6 +854,7 @@ static int mxser_init(void)
m++;
}
}
+ pci_dev_put(pdev);
#endif
retval = tty_register_driver(mxvar_sdriver);
[-- Attachment #3: Type: text/plain, Size: 168 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by
2006-05-27 19:57 [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by trem
2006-05-27 20:09 ` Nish Aravamudan
2006-05-27 20:33 ` trem
@ 2006-05-29 21:32 ` Greg KH
2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2006-05-29 21:32 UTC (permalink / raw)
To: kernel-janitors
On Sat, May 27, 2006 at 10:33:30PM +0200, trem wrote:
> diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
> index 0fb2fb9..28298dc 100644
> --- a/drivers/char/mxser.c
> +++ b/drivers/char/mxser.c
> @@ -817,7 +817,7 @@ static int mxser_init(void)
> index = 0;
> b = 0;
> while (b < n) {
> - pdev = pci_find_device(mxser_pcibrds[b].vendor, mxser_pcibrds[b].device, pdev);
> + pdev = pci_get_device(mxser_pcibrds[b].vendor, mxser_pcibrds[b].device, pdev);
> if (pdev = NULL) {
> b++;
> continue;
> @@ -854,6 +854,7 @@ static int mxser_init(void)
> m++;
> }
> }
> + pci_dev_put(pdev);
> #endif
No, this is not correct as you are saving off that pdev somewhere else
and then referencing it later. Which could be a stale pointer.
Please just convert the driver to the proper pci_register_driver() api
instead.
thanks,
greg k-h
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-05-29 21:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-27 19:57 [KJ] [PATCH] drivers/char/mxser.c : replace pci_find_device by trem
2006-05-27 20:09 ` Nish Aravamudan
2006-05-27 20:33 ` trem
2006-05-29 21:32 ` Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.