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 <[email protected]>
---
 drivers/staging/rtl8192e/rtl_core.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtl_core.c 
b/drivers/staging/rtl8192e/rtl_core.c
index f8040ac..f8a13d9 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);
         }
-- 
1.7.3.4

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to