From 7a2547e64a6bdb20f3e372d11cd2582a3c7f2f9c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 19 Mar 2006 19:21:49 -0800 Subject: [PATCH] --- yaml --- r: 23327 b: refs/heads/master c: 9320199957cebc39ccef372fa1fccf5ba3d3fd7d h: refs/heads/master i: 23325: 8a9203cd5a346c2033635629086b5a89fa28dbae 23323: 3171916b6f6468fc583b8381a72f076dd9b4e43d 23319: badf2dd63ad5667346fe02bede9c40be296ab72f 23311: d2a1006dd2e3790ed409a3960fa0738f06585e1d 23295: 5aa4f19cf969088ec4ddf035d842a69fb6ece6a0 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/hostap/hostap_pci.c | 4 +++- trunk/drivers/net/wireless/hostap/hostap_plx.c | 9 +++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 16871b76fd10..f0ed6f7142a9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4f7ecdf0b1b8125fe190247beb0df652829e13cb +refs/heads/master: 9320199957cebc39ccef372fa1fccf5ba3d3fd7d diff --git a/trunk/drivers/net/wireless/hostap/hostap_pci.c b/trunk/drivers/net/wireless/hostap/hostap_pci.c index 2e85bdced2dd..194f07097581 100644 --- a/trunk/drivers/net/wireless/hostap/hostap_pci.c +++ b/trunk/drivers/net/wireless/hostap/hostap_pci.c @@ -307,7 +307,7 @@ static int prism2_pci_probe(struct pci_dev *pdev, memset(hw_priv, 0, sizeof(*hw_priv)); if (pci_enable_device(pdev)) - return -EIO; + goto err_out_free; phymem = pci_resource_start(pdev, 0); @@ -368,6 +368,8 @@ static int prism2_pci_probe(struct pci_dev *pdev, err_out_disable: pci_disable_device(pdev); prism2_free_local_data(dev); + + err_out_free: kfree(hw_priv); return -ENODEV; diff --git a/trunk/drivers/net/wireless/hostap/hostap_plx.c b/trunk/drivers/net/wireless/hostap/hostap_plx.c index e258517ac85d..edaaa943eb8f 100644 --- a/trunk/drivers/net/wireless/hostap/hostap_plx.c +++ b/trunk/drivers/net/wireless/hostap/hostap_plx.c @@ -452,7 +452,7 @@ static int prism2_plx_probe(struct pci_dev *pdev, memset(hw_priv, 0, sizeof(*hw_priv)); if (pci_enable_device(pdev)) - return -EIO; + goto err_out_free; /* National Datacomm NCP130 based on TMD7160, not PLX9052. */ tmd7160 = (pdev->vendor == 0x15e8) && (pdev->device == 0x0131); @@ -567,9 +567,6 @@ static int prism2_plx_probe(struct pci_dev *pdev, return hostap_hw_ready(dev); fail: - prism2_free_local_data(dev); - kfree(hw_priv); - if (irq_registered && dev) free_irq(dev->irq, dev); @@ -577,6 +574,10 @@ static int prism2_plx_probe(struct pci_dev *pdev, iounmap(attr_mem); pci_disable_device(pdev); + prism2_free_local_data(dev); + + err_out_free: + kfree(hw_priv); return -ENODEV; }