aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8192e/rtl_core.c
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2011-07-15 12:32:41 -0500
committerLarry Finger <Larry.Finger@lwfinger.net>2011-08-23 21:47:22 -0500
commit66898177e7e5486dc77a4ba742efa4e2e9e900a4 (patch)
tree45cfad76fe209acac6307a7e0392c182b40ae701 /drivers/staging/rtl8192e/rtl_core.c
parentstaging: rtl8192e: Remove dead code associated with CONFIG_RTL_RFKILL (diff)
downloadlinux-dev-66898177e7e5486dc77a4ba742efa4e2e9e900a4.tar.xz
linux-dev-66898177e7e5486dc77a4ba742efa4e2e9e900a4.zip
staging: rtl8192e: Fix unload/reload problem
The driver is not releasing the memory region that was mapped. As a result, the driver cannot be unloaded and reloaded. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Diffstat (limited to 'drivers/staging/rtl8192e/rtl_core.c')
-rw-r--r--drivers/staging/rtl8192e/rtl_core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/staging/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl_core.c
index f8040acb91d1..f8a13d95985b 100644
--- a/drivers/staging/rtl8192e/rtl_core.c
+++ b/drivers/staging/rtl8192e/rtl_core.c
@@ -3122,6 +3122,11 @@ static void __devexit rtl8192_pci_disconnect(struct pci_dev *pdev)
if (priv->scan_cmd)
kfree(priv->scan_cmd);
+ if (dev->mem_start != 0) {
+ iounmap((void *)dev->mem_start);
+ release_mem_region(pci_resource_start(pdev, 1),
+ pci_resource_len(pdev, 1));
+ }
} else{
priv=rtllib_priv(dev);
}