summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorJohannes Stezenbach <js@linuxtv.org>2005-05-17 06:54:16 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-17 16:59:25 +0200
commit59a7ad6c1ed3a058d375d2e679d73805e4f851ac (patch)
tree42e2e23e88ef65f8fd3690e8f9be0a9097200a82 /drivers/media
parent[PATCH] dvb: flexcop: use hw pid filter (diff)
downloadlinux-59a7ad6c1ed3a058d375d2e679d73805e4f851ac.tar.xz
linux-59a7ad6c1ed3a058d375d2e679d73805e4f851ac.zip
[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>
Diffstat (limited to 'drivers/media')
-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 79e8581b4fb7..773d158032df 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 78952096fb74..ed717c0073d5 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 20db6329a686..0113449abd15 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 ad590875064b..df55e4c8ecd8 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;
}