Commit bf445080 authored by Amit Kumar Salecha's avatar Amit Kumar Salecha Committed by David S. Miller

netxen: fix memory leaks in error path

Fixes memory leak in error path when memory allocation
for adapter data structures fails.
Signed-off-by: default avatarAmit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 44b496f6
...@@ -629,7 +629,8 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter) ...@@ -629,7 +629,8 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter)
if (addr == NULL) { if (addr == NULL) {
dev_err(&pdev->dev, "%s: failed to allocate tx desc ring\n", dev_err(&pdev->dev, "%s: failed to allocate tx desc ring\n",
netdev->name); netdev->name);
return -ENOMEM; err = -ENOMEM;
goto err_out_free;
} }
tx_ring->desc_head = (struct cmd_desc_type0 *)addr; tx_ring->desc_head = (struct cmd_desc_type0 *)addr;
......
...@@ -218,7 +218,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter) ...@@ -218,7 +218,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter)
if (cmd_buf_arr == NULL) { if (cmd_buf_arr == NULL) {
dev_err(&pdev->dev, "%s: failed to allocate cmd buffer ring\n", dev_err(&pdev->dev, "%s: failed to allocate cmd buffer ring\n",
netdev->name); netdev->name);
return -ENOMEM; goto err_out;
} }
memset(cmd_buf_arr, 0, TX_BUFF_RINGSIZE(tx_ring)); memset(cmd_buf_arr, 0, TX_BUFF_RINGSIZE(tx_ring));
tx_ring->cmd_buf_arr = cmd_buf_arr; tx_ring->cmd_buf_arr = cmd_buf_arr;
...@@ -230,7 +230,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter) ...@@ -230,7 +230,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter)
if (rds_ring == NULL) { if (rds_ring == NULL) {
dev_err(&pdev->dev, "%s: failed to allocate rds ring struct\n", dev_err(&pdev->dev, "%s: failed to allocate rds ring struct\n",
netdev->name); netdev->name);
return -ENOMEM; goto err_out;
} }
recv_ctx->rds_rings = rds_ring; recv_ctx->rds_rings = rds_ring;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment