diff options
author | Johannes Stezenbach <js@linuxtv.org> | 2005-05-17 00:54:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-17 10:59:25 -0400 |
commit | 59a7ad6c1ed3a058d375d2e679d73805e4f851ac (patch) | |
tree | 42e2e23e88ef65f8fd3690e8f9be0a9097200a82 | |
parent | c4ee3fd469302884dda95e1f310d5ffcd9f5acf9 (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.h | 2 | ||||
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop-pci.c | 1 | ||||
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop-usb.c | 1 | ||||
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop.c | 2 |
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 { | |||
75 | struct i2c_adapter i2c_adap; | 75 | struct i2c_adapter i2c_adap; |
76 | struct semaphore i2c_sem; | 76 | struct semaphore i2c_sem; |
77 | 77 | ||
78 | struct module *owner; | ||
79 | |||
78 | /* options and status */ | 80 | /* options and status */ |
79 | int extra_feedcount; | 81 | int extra_feedcount; |
80 | int feedcount; | 82 | 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 | |||
309 | fc->bus_type = FC_PCI; | 309 | fc->bus_type = FC_PCI; |
310 | 310 | ||
311 | fc->dev = &pdev->dev; | 311 | fc->dev = &pdev->dev; |
312 | fc->owner = THIS_MODULE; | ||
312 | 313 | ||
313 | /* bus specific part */ | 314 | /* bus specific part */ |
314 | fc_pci->pdev = pdev; | 315 | 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, | |||
498 | fc->bus_type = FC_USB; | 498 | fc->bus_type = FC_USB; |
499 | 499 | ||
500 | fc->dev = &udev->dev; | 500 | fc->dev = &udev->dev; |
501 | fc->owner = THIS_MODULE; | ||
501 | 502 | ||
502 | /* bus specific part */ | 503 | /* bus specific part */ |
503 | fc_usb->udev = udev; | 504 | 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) | |||
67 | static int flexcop_dvb_init(struct flexcop_device *fc) | 67 | static int flexcop_dvb_init(struct flexcop_device *fc) |
68 | { | 68 | { |
69 | int ret; | 69 | int ret; |
70 | if ((ret = dvb_register_adapter(&fc->dvb_adapter,"FlexCop Digital TV device",THIS_MODULE)) < 0) { | 70 | if ((ret = dvb_register_adapter(&fc->dvb_adapter,"FlexCop Digital TV device",fc->owner)) < 0) { |
71 | err("error registering DVB adapter"); | 71 | err("error registering DVB adapter"); |
72 | return ret; | 72 | return ret; |
73 | } | 73 | } |