[PATCH] sgiseeq: Fix resource handling.

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>
This commit is contained in:
Ralf Baechle 2005-10-10 14:50:51 +01:00 committed by Jeff Garzik
parent bc053d45cb
commit 2891439e73

View file

@ -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;
}
@ -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);
@ -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);
}
}