Update of /cvsroot/linux-mips/linux/drivers/net
In directory usw-pr-cvs1:/tmp/cvs-serv32445
Modified Files:
sgiseeq.c
Log Message:
Improve error handling.
Index: sgiseeq.c
===================================================================
RCS file: /cvsroot/linux-mips/linux/drivers/net/sgiseeq.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- sgiseeq.c 2001/07/09 19:28:47 1.2
+++ sgiseeq.c 2001/10/08 16:31:35 1.3
@@ -450,19 +450,22 @@
unsigned long flags;
int err;
- save_and_cli(flags);
- if (request_irq(dev->irq, sgiseeq_interrupt, 0, sgiseeqstr, (void *) dev)) {
+ __save_and_cli(flags);
+
+ err = -EAGAIN;
+ if (request_irq(dev->irq, sgiseeq_interrupt, 0, sgiseeqstr, dev)) {
printk("Seeq8003: Can't get irq %d\n", dev->irq);
- restore_flags(flags);
- return -EAGAIN;
+ goto out;
}
err = init_seeq(dev, sp, sregs);
if (err)
- return err;
+ goto out;
netif_start_queue(dev);
- restore_flags(flags);
- return 0;
+
+out:
+ __restore_flags(flags);
+ return err;
}
static int sgiseeq_close(struct net_device *dev)
|