[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:
parent
bc053d45cb
commit
2891439e73
@ -493,11 +493,13 @@ static int sgiseeq_close(struct net_device *dev)
|
|||||||
{
|
{
|
||||||
struct sgiseeq_private *sp = netdev_priv(dev);
|
struct sgiseeq_private *sp = netdev_priv(dev);
|
||||||
struct sgiseeq_regs *sregs = sp->sregs;
|
struct sgiseeq_regs *sregs = sp->sregs;
|
||||||
|
unsigned int irq = dev->irq;
|
||||||
|
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
||||||
/* Shutdown the Seeq. */
|
/* Shutdown the Seeq. */
|
||||||
reset_hpc3_and_seeq(sp->hregs, sregs);
|
reset_hpc3_and_seeq(sp->hregs, sregs);
|
||||||
|
free_irq(irq, dev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -734,7 +736,7 @@ static int sgiseeq_init(struct hpc3_regs* regs, int irq)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_out_free_page:
|
err_out_free_page:
|
||||||
free_page((unsigned long) sp);
|
free_page((unsigned long) sp->srings);
|
||||||
err_out_free_dev:
|
err_out_free_dev:
|
||||||
kfree(dev);
|
kfree(dev);
|
||||||
|
|
||||||
@ -754,15 +756,12 @@ static void __exit sgiseeq_exit(void)
|
|||||||
{
|
{
|
||||||
struct net_device *next, *dev;
|
struct net_device *next, *dev;
|
||||||
struct sgiseeq_private *sp;
|
struct sgiseeq_private *sp;
|
||||||
int irq;
|
|
||||||
|
|
||||||
for (dev = root_sgiseeq_dev; dev; dev = next) {
|
for (dev = root_sgiseeq_dev; dev; dev = next) {
|
||||||
sp = (struct sgiseeq_private *) netdev_priv(dev);
|
sp = (struct sgiseeq_private *) netdev_priv(dev);
|
||||||
next = sp->next_module;
|
next = sp->next_module;
|
||||||
irq = dev->irq;
|
|
||||||
unregister_netdev(dev);
|
unregister_netdev(dev);
|
||||||
free_irq(irq, dev);
|
free_page((unsigned long) sp->srings);
|
||||||
free_page((unsigned long) sp);
|
|
||||||
free_netdev(dev);
|
free_netdev(dev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user