mwl8k: fix pci dma mapping leak in mwl8k_post_cmd() error path
authorLennert Buytenhek <buytenh@wantstofly.org>
Mon, 24 Aug 2009 13:42:46 +0000 (15:42 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 28 Aug 2009 18:40:42 +0000 (14:40 -0400)
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c

index 4d3353c..a4336f4 100644 (file)
@@ -1439,8 +1439,11 @@ static int mwl8k_post_cmd(struct ieee80211_hw *hw, struct mwl8k_cmd_pkt *cmd)
                return -ENOMEM;
 
        rc = mwl8k_fw_lock(hw);
-       if (rc)
+       if (rc) {
+               pci_unmap_single(priv->pdev, dma_addr, dma_size,
+                                               PCI_DMA_BIDIRECTIONAL);
                return rc;
+       }
 
        priv->hostcmd_wait = &cmd_wait;
        iowrite32(dma_addr, regs + MWL8K_HIU_GEN_PTR);