sky2: Refactor down/up code out of sky2_restart()
[safe/jmp/linux-2.6] / drivers / net / lance.c
index 7b2c429..21f8ada 100644 (file)
@@ -493,14 +493,14 @@ static int __init lance_probe1(struct net_device *dev, int ioaddr, int irq, int
                static const short ioaddr_table[] = { 0x300, 0x320, 0x340, 0x360};
                int hp_port = (readl(bios + 1) & 1)  ? 0x499 : 0x99;
                /* We can have boards other than the built-in!  Verify this is on-board. */
-               if ((inb(hp_port) & 0xc0) == 0x80
-                       && ioaddr_table[inb(hp_port) & 3] == ioaddr)
+               if ((inb(hp_port) & 0xc0) == 0x80 &&
+                   ioaddr_table[inb(hp_port) & 3] == ioaddr)
                        hp_builtin = hp_port;
        }
        iounmap(bios);
        /* We also recognize the HP Vectra on-board here, but check below. */
-       hpJ2405A = (inb(ioaddr) == 0x08 && inb(ioaddr+1) == 0x00
-                               && inb(ioaddr+2) == 0x09);
+       hpJ2405A = (inb(ioaddr) == 0x08 && inb(ioaddr+1) == 0x00 &&
+                   inb(ioaddr+2) == 0x09);
 
        /* Reset the LANCE.      */
        reset_val = inw(ioaddr+LANCE_RESET); /* Reset the LANCE */
@@ -945,7 +945,7 @@ static void lance_tx_timeout (struct net_device *dev)
 #endif
        lance_restart (dev, 0x0043, 1);
 
-       dev->trans_start = jiffies;
+       dev->trans_start = jiffies; /* prevent tx timeout */
        netif_wake_queue (dev);
 }
 
@@ -1011,8 +1011,6 @@ static netdev_tx_t lance_start_xmit(struct sk_buff *skb,
        outw(0x0000, ioaddr+LANCE_ADDR);
        outw(0x0048, ioaddr+LANCE_DATA);
 
-       dev->trans_start = jiffies;
-
        if ((lp->cur_tx - lp->dirty_tx) >= TX_RING_SIZE)
                netif_stop_queue(dev);
 
@@ -1035,8 +1033,8 @@ static irqreturn_t lance_interrupt(int irq, void *dev_id)
        spin_lock (&lp->devlock);
 
        outw(0x00, dev->base_addr + LANCE_ADDR);
-       while ((csr0 = inw(dev->base_addr + LANCE_DATA)) & 0x8600
-                  && --boguscnt >= 0) {
+       while ((csr0 = inw(dev->base_addr + LANCE_DATA)) & 0x8600 &&
+              --boguscnt >= 0) {
                /* Acknowledge all of the current interrupt sources ASAP. */
                outw(csr0 & ~0x004f, dev->base_addr + LANCE_DATA);
 
@@ -1288,7 +1286,7 @@ static void set_multicast_list(struct net_device *dev)
        } else {
                short multicast_table[4];
                int i;
-               int num_addrs=dev->mc_count;
+               int num_addrs=netdev_mc_count(dev);
                if(dev->flags&IFF_ALLMULTI)
                        num_addrs=1;
                /* FIXIT: We don't use the multicast table, but rely on upper-layer filtering. */