aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Stezenbach <js@linuxtv.org>2005-05-16 21:54:16 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-17 07:59:25 -0700
commit59a7ad6c1ed3a058d375d2e679d73805e4f851ac (patch)
tree42e2e23e88ef65f8fd3690e8f9be0a9097200a82
parentc4ee3fd469302884dda95e1f310d5ffcd9f5acf9 (diff)
[PATCH] dvb: flexcop: fix module refcount handling
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@linuxtv.org> Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/media/dvb/b2c2/flexcop-common.h2
-rw-r--r--drivers/media/dvb/b2c2/flexcop-pci.c1
-rw-r--r--drivers/media/dvb/b2c2/flexcop-usb.c1
-rw-r--r--drivers/media/dvb/b2c2/flexcop.c2
4 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/b2c2/flexcop-common.h b/drivers/media/dvb/b2c2/flexcop-common.h
index 79e8581b4fb..773d158032d 100644
--- a/drivers/media/dvb/b2c2/flexcop-common.h
+++ b/drivers/media/dvb/b2c2/flexcop-common.h
@@ -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;
diff --git a/drivers/media/dvb/b2c2/flexcop-pci.c b/drivers/media/dvb/b2c2/flexcop-pci.c
index 78952096fb7..ed717c0073d 100644
--- a/drivers/media/dvb/b2c2/flexcop-pci.c
+++ b/drivers/media/dvb/b2c2/flexcop-pci.c
@@ -309,6 +309,7 @@ static int flexcop_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
fc->bus_type = FC_PCI;
fc->dev = &pdev->dev;
+ fc->owner = THIS_MODULE;
/* bus specific part */
fc_pci->pdev = pdev;
diff --git a/drivers/media/dvb/b2c2/flexcop-usb.c b/drivers/media/dvb/b2c2/flexcop-usb.c
index 20db6329a68..0113449abd1 100644
--- a/drivers/media/dvb/b2c2/flexcop-usb.c
+++ b/drivers/media/dvb/b2c2/flexcop-usb.c
@@ -498,6 +498,7 @@ static int flexcop_usb_probe(struct usb_interface *intf,
fc->bus_type = FC_USB;
fc->dev = &udev->dev;
+ fc->owner = THIS_MODULE;
/* bus specific part */
fc_usb->udev = udev;
diff --git a/drivers/media/dvb/b2c2/flexcop.c b/drivers/media/dvb/b2c2/flexcop.c
index ad590875064..df55e4c8ecd 100644
--- a/drivers/media/dvb/b2c2/flexcop.c
+++ b/drivers/media/dvb/b2c2/flexcop.c
@@ -67,7 +67,7 @@ static int flexcop_dvb_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
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;
}