summaryrefslogtreecommitdiff
path: root/drivers/staging/media
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2013-09-04 22:32:19 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2013-10-03 14:05:32 -0300
commitcfe1b7a703a53318fcecf71e29a516d8fd72eb78 (patch)
tree2ad13a5c3ce0d2a070918ff5efddf9d9e972a607 /drivers/staging/media
parentfd39abee9e88276251f31f6c3cbefadb2d25486f (diff)
[media] lirc_bt829: Enable and disable device
We must not assume that the PCI device is already enabled. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/staging/media')
-rw-r--r--drivers/staging/media/lirc/lirc_bt829.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/staging/media/lirc/lirc_bt829.c b/drivers/staging/media/lirc/lirc_bt829.c
index a61d233f38ca..623f10e2cdaa 100644
--- a/drivers/staging/media/lirc/lirc_bt829.c
+++ b/drivers/staging/media/lirc/lirc_bt829.c
@@ -126,9 +126,13 @@ int init_module(void)
if (pdev == NULL)
return -ENODEV;
+ rc = pci_enable_device(pdev);
+ if (rc)
+ goto err_put_dev;
+
if (!atir_init_start()) {
rc = -ENODEV;
- goto err_put_dev;
+ goto err_disable;
}
strcpy(atir_driver.name, "ATIR");
@@ -154,6 +158,8 @@ int init_module(void)
err_unmap:
iounmap(pci_addr_lin);
+err_disable:
+ pci_disable_device(pdev);
err_put_dev:
pci_dev_put(pdev);
return rc;
@@ -166,6 +172,7 @@ void cleanup_module(void)
lirc_unregister_driver(atir_minor);
iounmap(pci_addr_lin);
+ pci_disable_device(pdev);
pci_dev_put(pdev);
}