Skip to content

Commit

Permalink
netxen: fix rxbuf leak across driver reload
Browse files Browse the repository at this point in the history
Free up rx ring during driver unload or open() failure.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
  • Loading branch information
Dhananjay Phadke authored and Jeff Garzik committed Aug 14, 2008
1 parent 9dc28ef commit 9e41077
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/net/netxen/netxen_nic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1017,6 +1017,7 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev)

if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) {
netxen_free_hw_resources(adapter);
netxen_release_rx_buffers(adapter);
netxen_free_sw_resources(adapter);
}

Expand Down Expand Up @@ -1111,7 +1112,7 @@ static int netxen_nic_open(struct net_device *netdev)
flags, netdev->name, adapter);
if (err) {
printk(KERN_ERR "request_irq failed with: %d\n", err);
goto err_out_free_hw;
goto err_out_free_rxbuf;
}

adapter->is_up = NETXEN_ADAPTER_UP_MAGIC;
Expand Down Expand Up @@ -1144,7 +1145,8 @@ static int netxen_nic_open(struct net_device *netdev)

err_out_free_irq:
free_irq(adapter->irq, adapter);
err_out_free_hw:
err_out_free_rxbuf:
netxen_release_rx_buffers(adapter);
netxen_free_hw_resources(adapter);
err_out_free_sw:
netxen_free_sw_resources(adapter);
Expand Down

0 comments on commit 9e41077

Please sign in to comment.