Hi! During some unrelated work I was confused by b44_init_hw. Its return is checked in _open() but nowhere else. I started adding missing checks, but then I found why its so: it only ever returns 0. So this turns it into void. Killed #if 0-ed piece of code and fixed indentation at one point. Please apply, Pavel --- clean/drivers/net/b44.c 2004-04-05 16:50:24.000000000 +0200 +++ linux.working2/drivers/net/b44.c 2004-04-21 01:24:14.000000000 +0200 @@ -96,7 +96,7 @@ static void b44_halt(struct b44 *); static void b44_init_rings(struct b44 *); -static int b44_init_hw(struct b44 *); +static void b44_init_hw(struct b44 *); static int b44_wait_bit(struct b44 *bp, unsigned long reg, u32 bit, unsigned long timeout, const int clear) @@ -1180,7 +1180,7 @@ * packet processing. Invoked with bp->lock held. */ static void __b44_set_rx_mode(struct net_device *); -static int b44_init_hw(struct b44 *bp) +static void b44_init_hw(struct b44 *bp) { u32 val; @@ -1212,8 +1212,6 @@ val = br32(B44_ENET_CTRL); bw32(B44_ENET_CTRL, (val | ENET_CTRL_ENABLE)); - - return 0; } static int b44_open(struct net_device *dev) @@ -1232,9 +1230,7 @@ spin_lock_irq(&bp->lock); b44_init_rings(bp); - err = b44_init_hw(bp); - if (err) - goto err_out_noinit; + b44_init_hw(bp); bp->flags |= B44_FLAG_INIT_COMPLETE; spin_unlock_irq(&bp->lock); @@ -1249,11 +1245,6 @@ return 0; -err_out_noinit: - b44_halt(bp); - b44_free_rings(bp); - spin_unlock_irq(&bp->lock); - free_irq(dev->irq, dev); err_out_free: b44_free_consistent(bp); return err; @@ -1281,9 +1272,6 @@ spin_lock_irq(&bp->lock); -#if 0 - b44_dump_state(bp); -#endif b44_halt(bp); b44_free_rings(bp); bp->flags &= ~B44_FLAG_INIT_COMPLETE; @@ -1392,7 +1380,7 @@ return -EFAULT; switch (ethcmd) { - case ETHTOOL_GDRVINFO:{ + case ETHTOOL_GDRVINFO: { struct ethtool_drvinfo info = { ETHTOOL_GDRVINFO }; strcpy (info.driver, DRV_MODULE_NAME); strcpy (info.version, DRV_MODULE_VERSION); -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html