From: Dave A. <ai...@us...> - 2001-02-23 08:11:45
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/net In directory usw-pr-cvs1:/tmp/cvs-serv11859/drivers/net Modified Files: vaxlance.c Log Message: forgot a spin_lock_irq .. but back some proper device init code I'd removed Index: vaxlance.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/net/vaxlance.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- vaxlance.c 2001/02/22 22:49:22 1.5 +++ vaxlance.c 2001/02/22 23:24:29 1.6 @@ -317,7 +317,9 @@ ib = (struct lance_init_block *) (dev->mem_start); lp->init_block=ib; + /* Lock out other processes while setting up hardware */ + netif_stop_queue(dev); lp->rx_new = lp->tx_new = 0; lp->rx_old = lp->tx_old = 0; @@ -723,7 +725,7 @@ printk(KERN_ERR "%s: transmit timed out, status %04x, reset\n", dev->name, ll->rdp); - lance_reset(dev); + lance_reset(dev); netif_wake_queue(dev); } @@ -738,6 +740,8 @@ len = (skblen <= ETH_ZLEN) ? ETH_ZLEN : skblen; + spin_lock_irq(&lp->lock); + lp->stats.tx_bytes += len; entry = lp->tx_new & TX_RING_MOD_MASK; @@ -887,7 +891,7 @@ esar_base=ioremap(esar_phys_addr, 0x80); if (vax_lance_debug && version_printed++ == 0) printk(version); -#if 0 +#if 1 if (dev == NULL) { dev = init_etherdev(0, sizeof(struct lance_private) + 8); } else { |