summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorDavid Oostdyk <daveo@ll.mit.edu>2013-03-08 08:28:15 +0000
committerDavid S. Miller <davem@davemloft.net>2013-03-10 16:42:23 -0400
commitfef4c86e59a76f2ec1a77d5732f40752700bd5dd (patch)
treea055127e04ca03bb1540dbf797385c1e644f946f /drivers/net
parent29cd8ae0e1a39e239a3a7b67da1986add1199fc0 (diff)
downloadlinux-fef4c86e59a76f2ec1a77d5732f40752700bd5dd.tar.bz2
rrunner.c: fix possible memory leak in rr_init_one()
In the event that register_netdev() failed, the rrpriv->evt_ring allocation would have not been freed. Signed-off-by: David Oostdyk <daveo@ll.mit.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/hippi/rrunner.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/hippi/rrunner.c b/drivers/net/hippi/rrunner.c
index e5b19b056909..3c4d6274bb9b 100644
--- a/drivers/net/hippi/rrunner.c
+++ b/drivers/net/hippi/rrunner.c
@@ -202,6 +202,9 @@ static int rr_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
return 0;
out:
+ if (rrpriv->evt_ring)
+ pci_free_consistent(pdev, EVT_RING_SIZE, rrpriv->evt_ring,
+ rrpriv->evt_ring_dma);
if (rrpriv->rx_ring)
pci_free_consistent(pdev, RX_TOTAL_SIZE, rrpriv->rx_ring,
rrpriv->rx_ring_dma);