[DVB patch 08/11] flexcop: fix module refcount handling

From: Johannes Stezenbach
Date: Fri May 13 2005 - 17:19:00 EST


Corrected the THIS_MODULE handling for the flexcop-stuff and dvb-usb which lead
to oopses because of misorganized module dependencies.

Signed-off-by: Patrick Boettcher <pb@xxxxxxxxxxx>
Signed-off-by: Johannes Stezenbach <js@xxxxxxxxxxx>
---

drivers/media/dvb/b2c2/flexcop-common.h | 2 ++
drivers/media/dvb/b2c2/flexcop-pci.c | 1 +
drivers/media/dvb/b2c2/flexcop-usb.c | 1 +
drivers/media/dvb/b2c2/flexcop.c | 2 +-
4 files changed, 5 insertions(+), 1 deletion(-)

Index: linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop-common.h
===================================================================
--- linux-2.6.12-rc4.orig/drivers/media/dvb/b2c2/flexcop-common.h 2005-05-12 01:30:45.000000000 +0200
+++ linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop-common.h 2005-05-12 01:30:55.000000000 +0200
@@ -75,6 +75,8 @@ struct flexcop_device {
struct i2c_adapter i2c_adap;
struct semaphore i2c_sem;

+ struct module *owner;
+
/* options and status */
int extra_feedcount;
int feedcount;
Index: linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop-pci.c
===================================================================
--- linux-2.6.12-rc4.orig/drivers/media/dvb/b2c2/flexcop-pci.c 2005-05-12 01:30:45.000000000 +0200
+++ linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop-pci.c 2005-05-12 01:30:55.000000000 +0200
@@ -309,6 +309,7 @@ static int flexcop_pci_probe(struct pci_
fc->bus_type = FC_PCI;

fc->dev = &pdev->dev;
+ fc->owner = THIS_MODULE;

/* bus specific part */
fc_pci->pdev = pdev;
Index: linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop-usb.c
===================================================================
--- linux-2.6.12-rc4.orig/drivers/media/dvb/b2c2/flexcop-usb.c 2005-05-12 01:30:26.000000000 +0200
+++ linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop-usb.c 2005-05-12 01:30:55.000000000 +0200
@@ -498,6 +498,7 @@ static int flexcop_usb_probe(struct usb_
fc->bus_type = FC_USB;

fc->dev = &udev->dev;
+ fc->owner = THIS_MODULE;

/* bus specific part */
fc_usb->udev = udev;
Index: linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop.c
===================================================================
--- linux-2.6.12-rc4.orig/drivers/media/dvb/b2c2/flexcop.c 2005-05-12 01:30:26.000000000 +0200
+++ linux-2.6.12-rc4/drivers/media/dvb/b2c2/flexcop.c 2005-05-12 01:30:55.000000000 +0200
@@ -67,7 +67,7 @@ static int flexcop_dvb_stop_feed(struct
static int flexcop_dvb_init(struct flexcop_device *fc)
{
int ret;
- if ((ret = dvb_register_adapter(&fc->dvb_adapter,"FlexCop Digital TV device",THIS_MODULE)) < 0) {
+ if ((ret = dvb_register_adapter(&fc->dvb_adapter,"FlexCop Digital TV device",fc->owner)) < 0) {
err("error registering DVB adapter");
return ret;
}

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/