Skip to content

Commit

Permalink
[PATCH] sgiseeq: Fix resource handling.
Browse files Browse the repository at this point in the history
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/sgiseeq.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Ralf Baechle authored and Jeff Garzik committed Oct 18, 2005
1 parent bc053d4 commit 2891439
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions drivers/net/sgiseeq.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,11 +493,13 @@ static int sgiseeq_close(struct net_device *dev)
{
struct sgiseeq_private *sp = netdev_priv(dev);
struct sgiseeq_regs *sregs = sp->sregs;
unsigned int irq = dev->irq;

netif_stop_queue(dev);

/* Shutdown the Seeq. */
reset_hpc3_and_seeq(sp->hregs, sregs);
free_irq(irq, dev);

return 0;
}
Expand Down Expand Up @@ -734,7 +736,7 @@ static int sgiseeq_init(struct hpc3_regs* regs, int irq)
return 0;

err_out_free_page:
free_page((unsigned long) sp);
free_page((unsigned long) sp->srings);
err_out_free_dev:
kfree(dev);

Expand All @@ -754,15 +756,12 @@ static void __exit sgiseeq_exit(void)
{
struct net_device *next, *dev;
struct sgiseeq_private *sp;
int irq;

for (dev = root_sgiseeq_dev; dev; dev = next) {
sp = (struct sgiseeq_private *) netdev_priv(dev);
next = sp->next_module;
irq = dev->irq;
unregister_netdev(dev);
free_irq(irq, dev);
free_page((unsigned long) sp);
free_page((unsigned long) sp->srings);
free_netdev(dev);
}
}
Expand Down

0 comments on commit 2891439

Please sign in to comment.