[PATCH] dvb: flexcop: fix module refcount handling
authorJohannes Stezenbach <js@linuxtv.org>
Tue, 17 May 2005 04:54:16 +0000 (21:54 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 17 May 2005 14:59:25 +0000 (07:59 -0700)
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>
drivers/media/dvb/b2c2/flexcop-common.h
drivers/media/dvb/b2c2/flexcop-pci.c
drivers/media/dvb/b2c2/flexcop-usb.c
drivers/media/dvb/b2c2/flexcop.c

index 79e8581..773d158 100644 (file)
@@ -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 7895209..ed717c0 100644 (file)
@@ -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;
index 20db632..0113449 100644 (file)
@@ -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;
index ad59087..df55e4c 100644 (file)
@@ -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;
        }