* [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device by
@ 2006-05-16 21:56 trem
2006-05-16 22:53 ` trem
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: trem @ 2006-05-16 21:56 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 253 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 to decrement
the counter, so unload could be done.
Signed-Off-By: trem <tremyfr@yahoo.fr>
---
[-- Attachment #2: ip2main_replace_pci_find_device_by_pci_get_device.patch --]
[-- Type: text/x-patch, Size: 781 bytes --]
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index 03db1cb..2acdfb2 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -594,7 +594,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
#ifdef CONFIG_PCI
{
struct pci_dev *pci_dev_i = NULL;
- pci_dev_i = pci_find_device(PCI_VENDOR_ID_COMPUTONE,
+ pci_dev_i = pci_get_device(PCI_VENDOR_ID_COMPUTONE,
PCI_DEVICE_ID_COMPUTONE_IP2EX, pci_dev_i);
if (pci_dev_i != NULL) {
unsigned int addr;
@@ -622,6 +622,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
// pci_irq = 0;
// }
ip2config.irq[i] = pci_dev_i->irq;
+ pci_dev_put(pci_dev_i);
} else { // ann error
ip2config.addr[i] = 0;
if (status == PCIBIOS_DEVICE_NOT_FOUND) {
[-- 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
* [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device by
2006-05-16 21:56 [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device by trem
@ 2006-05-16 22:53 ` trem
2006-05-17 0:16 ` [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device Greg KH
2006-05-17 0:19 ` Greg KH
2 siblings, 0 replies; 4+ messages in thread
From: trem @ 2006-05-16 22:53 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 331 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 to decrement
the counter, so unload could be done. I've added a pci_dev_put(pci_dev_i)
before the break to avoid mising a device.
Signed-Off-By: trem <tremyfr@yahoo.fr>
---
[-- Attachment #2: ip2main_replace_pci_find_device_by_pci_get_device.patch --]
[-- Type: text/x-patch, Size: 1062 bytes --]
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index 03db1cb..235f17e 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -594,7 +594,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
#ifdef CONFIG_PCI
{
struct pci_dev *pci_dev_i = NULL;
- pci_dev_i = pci_find_device(PCI_VENDOR_ID_COMPUTONE,
+ pci_dev_i = pci_get_device(PCI_VENDOR_ID_COMPUTONE,
PCI_DEVICE_ID_COMPUTONE_IP2EX, pci_dev_i);
if (pci_dev_i != NULL) {
unsigned int addr;
@@ -602,6 +602,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
if (pci_enable_device(pci_dev_i)) {
printk( KERN_ERR "IP2: can't enable PCI device at %s\n",
pci_name(pci_dev_i));
+ pci_dev_put(pci_dev_i);
break;
}
ip2config.type[i] = PCI;
@@ -622,6 +623,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
// pci_irq = 0;
// }
ip2config.irq[i] = pci_dev_i->irq;
+ pci_dev_put(pci_dev_i);
} else { // ann error
ip2config.addr[i] = 0;
if (status == PCIBIOS_DEVICE_NOT_FOUND) {
[-- 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/ip2/ip2main.c : change pci_find_device
2006-05-16 21:56 [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device by trem
2006-05-16 22:53 ` trem
@ 2006-05-17 0:16 ` Greg KH
2006-05-17 0:19 ` Greg KH
2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2006-05-17 0:16 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 462 bytes --]
On Wed, May 17, 2006 at 12:53:22AM +0200, trem 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 to decrement
> the counter, so unload could be done. I've added a pci_dev_put(pci_dev_i)
> before the break to avoid mising a device.
No, you are decrementing a reference while still holding a pointer to
it. That's a bug.
thanks,
greg k-h
[-- Attachment #2: 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 [flat|nested] 4+ messages in thread
* Re: [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device
2006-05-16 21:56 [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device by trem
2006-05-16 22:53 ` trem
2006-05-17 0:16 ` [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device Greg KH
@ 2006-05-17 0:19 ` Greg KH
2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2006-05-17 0:19 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1372 bytes --]
On Tue, May 16, 2006 at 11:56:51PM +0200, trem 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 to decrement
> the counter, so unload could be done.
>
> Signed-Off-By: trem <tremyfr@yahoo.fr>
> ---
>
> diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
> index 03db1cb..2acdfb2 100644
> --- a/drivers/char/ip2/ip2main.c
> +++ b/drivers/char/ip2/ip2main.c
> @@ -594,7 +594,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
> #ifdef CONFIG_PCI
> {
> struct pci_dev *pci_dev_i = NULL;
> - pci_dev_i = pci_find_device(PCI_VENDOR_ID_COMPUTONE,
> + pci_dev_i = pci_get_device(PCI_VENDOR_ID_COMPUTONE,
> PCI_DEVICE_ID_COMPUTONE_IP2EX, pci_dev_i);
> if (pci_dev_i != NULL) {
> unsigned int addr;
> @@ -622,6 +622,7 @@ ip2_loadmain(int *iop, int *irqp, unsign
> // pci_irq = 0;
> // }
> ip2config.irq[i] = pci_dev_i->irq;
> + pci_dev_put(pci_dev_i);
Nope, you saved a reference and yet just released it. Not acceptable.
Please note that making these changes is very difficult. Numerous
people have tried it in the past and generally just given up. See the
archives for details on how to get it correct, and to keep from doing
the same things that others did.
thanks,
greg k-h
[-- Attachment #2: 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 [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-05-17 0:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-16 21:56 [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device by trem
2006-05-16 22:53 ` trem
2006-05-17 0:16 ` [KJ] [PATCH] drivers/char/ip2/ip2main.c : change pci_find_device Greg KH
2006-05-17 0:19 ` 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.