diff options
| author | Kenneth Aafloy <devnull@localhost> | 2004-07-12 18:15:34 +0000 |
|---|---|---|
| committer | Kenneth Aafloy <devnull@localhost> | 2004-07-12 18:15:34 +0000 |
| commit | bcfcd8a4a5a3ab5bac73391be855e5770379d504 (patch) | |
| tree | 6682191b2ae7be87ef4867d5ae4d2c0c334e945b /linux/drivers/media/dvb/ttpci | |
| parent | 481ccf4d48f8ed8928ab6d2ef02b39a6349ac300 (diff) | |
| download | mediapointer-dvb-s2-bcfcd8a4a5a3ab5bac73391be855e5770379d504.tar.gz mediapointer-dvb-s2-bcfcd8a4a5a3ab5bac73391be855e5770379d504.tar.bz2 | |
- Properly lock the frontend module on open/close.
- Remove module ref count changes to av7110 and budget-core,
as they did not do the right thing.
Diffstat (limited to 'linux/drivers/media/dvb/ttpci')
| -rw-r--r-- | linux/drivers/media/dvb/ttpci/av7110.c | 12 | ||||
| -rw-r--r-- | linux/drivers/media/dvb/ttpci/budget-core.c | 10 |
2 files changed, 3 insertions, 19 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110.c b/linux/drivers/media/dvb/ttpci/av7110.c index 5d9028e9a..3a2d1d23a 100644 --- a/linux/drivers/media/dvb/ttpci/av7110.c +++ b/linux/drivers/media/dvb/ttpci/av7110.c @@ -1409,10 +1409,6 @@ int client_register(struct i2c_client *client) struct saa7146_dev *dev = (struct saa7146_dev*)i2c_get_adapdata(client->adapter); struct av7110 *av7110 = (struct av7110*)dev->ext_priv; - if (!try_module_get(THIS_MODULE)) { - return -EIO; - } - /* fixme: check for "type" (ie. frontend type) */ if (client->driver->command) return client->driver->command(client, FE_REGISTER, av7110->dvb_adapter); @@ -1423,15 +1419,11 @@ int client_unregister(struct i2c_client *client) { struct saa7146_dev *dev = (struct saa7146_dev*)i2c_get_adapdata(client->adapter); struct av7110 *av7110 = (struct av7110*)dev->ext_priv; - int ret = 0; /* fixme: check for "type" (ie. frontend type) */ if (client->driver->command) - ret = client->driver->command(client, FE_UNREGISTER, av7110->dvb_adapter); - - module_put(THIS_MODULE); - - return ret; + return client->driver->command(client, FE_UNREGISTER, av7110->dvb_adapter); + return 0; } static int av7110_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data *pci_ext) diff --git a/linux/drivers/media/dvb/ttpci/budget-core.c b/linux/drivers/media/dvb/ttpci/budget-core.c index c2dc9279e..c1172e96a 100644 --- a/linux/drivers/media/dvb/ttpci/budget-core.c +++ b/linux/drivers/media/dvb/ttpci/budget-core.c @@ -271,10 +271,6 @@ int client_register(struct i2c_client *client) struct saa7146_dev *dev = (struct saa7146_dev*)i2c_get_adapdata(client->adapter); struct budget *budget = (struct budget*)dev->ext_priv; - if (!try_module_get(THIS_MODULE)) { - return -EIO; - } - if (client->driver->command) return client->driver->command(client, FE_REGISTER, budget->dvb_adapter); return 0; @@ -284,13 +280,9 @@ int client_unregister(struct i2c_client *client) { struct saa7146_dev *dev = (struct saa7146_dev*)i2c_get_adapdata(client->adapter); struct budget *budget = (struct budget*)dev->ext_priv; - int ret = 0; if (client->driver->command) - ret = client->driver->command(client, FE_UNREGISTER, budget->dvb_adapter); - - module_put(THIS_MODULE); - + return client->driver->command(client, FE_UNREGISTER, budget->dvb_adapter); return 0; } |
