aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/lance.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/lance.c')
-rw-r--r--drivers/net/lance.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/drivers/net/lance.c b/drivers/net/lance.c
index dc997be44ed7..f349e88e0ddf 100644
--- a/drivers/net/lance.c
+++ b/drivers/net/lance.c
@@ -19,7 +19,7 @@
19 - alignment problem with 1.3.* kernel and some minor changes. 19 - alignment problem with 1.3.* kernel and some minor changes.
20 Thomas Bogendoerfer (tsbogend@bigbug.franken.de): 20 Thomas Bogendoerfer (tsbogend@bigbug.franken.de):
21 - added support for Linux/Alpha, but removed most of it, because 21 - added support for Linux/Alpha, but removed most of it, because
22 it worked only for the PCI chip. 22 it worked only for the PCI chip.
23 - added hook for the 32bit lance driver 23 - added hook for the 32bit lance driver
24 - added PCnetPCI II (79C970A) to chip table 24 - added PCnetPCI II (79C970A) to chip table
25 Paul Gortmaker (gpg109@rsphy1.anu.edu.au): 25 Paul Gortmaker (gpg109@rsphy1.anu.edu.au):
@@ -31,7 +31,7 @@
31 before unregister_netdev() which caused NULL pointer 31 before unregister_netdev() which caused NULL pointer
32 reference later in the chain (in rtnetlink_fill_ifinfo()) 32 reference later in the chain (in rtnetlink_fill_ifinfo())
33 -- Mika Kuoppala <miku@iki.fi> 33 -- Mika Kuoppala <miku@iki.fi>
34 34
35 Forward ported v1.14 to 2.1.129, merged the PCI and misc changes from 35 Forward ported v1.14 to 2.1.129, merged the PCI and misc changes from
36 the 2.1 version of the old driver - Alan Cox 36 the 2.1 version of the old driver - Alan Cox
37 37
@@ -307,7 +307,7 @@ static struct net_device_stats *lance_get_stats(struct net_device *dev);
307static void set_multicast_list(struct net_device *dev); 307static void set_multicast_list(struct net_device *dev);
308static void lance_tx_timeout (struct net_device *dev); 308static void lance_tx_timeout (struct net_device *dev);
309 309
310 310
311 311
312#ifdef MODULE 312#ifdef MODULE
313#define MAX_CARDS 8 /* Max number of interfaces (cards) per module */ 313#define MAX_CARDS 8 /* Max number of interfaces (cards) per module */
@@ -374,7 +374,7 @@ void cleanup_module(void)
374 for (this_dev = 0; this_dev < MAX_CARDS; this_dev++) { 374 for (this_dev = 0; this_dev < MAX_CARDS; this_dev++) {
375 struct net_device *dev = dev_lance[this_dev]; 375 struct net_device *dev = dev_lance[this_dev];
376 if (dev) { 376 if (dev) {
377 unregister_netdev(dev); 377 unregister_netdev(dev);
378 cleanup_card(dev); 378 cleanup_card(dev);
379 free_netdev(dev); 379 free_netdev(dev);
380 } 380 }
@@ -531,7 +531,7 @@ static int __init lance_probe1(struct net_device *dev, int ioaddr, int irq, int
531 531
532 dev->base_addr = ioaddr; 532 dev->base_addr = ioaddr;
533 /* Make certain the data structures used by the LANCE are aligned and DMAble. */ 533 /* Make certain the data structures used by the LANCE are aligned and DMAble. */
534 534
535 lp = kmalloc(sizeof(*lp), GFP_DMA | GFP_KERNEL); 535 lp = kmalloc(sizeof(*lp), GFP_DMA | GFP_KERNEL);
536 if(lp==NULL) 536 if(lp==NULL)
537 return -ENODEV; 537 return -ENODEV;
@@ -656,7 +656,7 @@ static int __init lance_probe1(struct net_device *dev, int ioaddr, int irq, int
656 outw(0x7f04, ioaddr+LANCE_DATA); /* Clear the memory error bits. */ 656 outw(0x7f04, ioaddr+LANCE_DATA); /* Clear the memory error bits. */
657 if (request_dma(dma, chipname)) 657 if (request_dma(dma, chipname))
658 continue; 658 continue;
659 659
660 flags=claim_dma_lock(); 660 flags=claim_dma_lock();
661 set_dma_mode(dma, DMA_MODE_CASCADE); 661 set_dma_mode(dma, DMA_MODE_CASCADE);
662 enable_dma(dma); 662 enable_dma(dma);
@@ -737,7 +737,7 @@ out_lp:
737 return err; 737 return err;
738} 738}
739 739
740 740
741static int 741static int
742lance_open(struct net_device *dev) 742lance_open(struct net_device *dev)
743{ 743{
@@ -801,7 +801,7 @@ lance_open(struct net_device *dev)
801 while (i++ < 100) 801 while (i++ < 100)
802 if (inw(ioaddr+LANCE_DATA) & 0x0100) 802 if (inw(ioaddr+LANCE_DATA) & 0x0100)
803 break; 803 break;
804 /* 804 /*
805 * We used to clear the InitDone bit, 0x0100, here but Mark Stockton 805 * We used to clear the InitDone bit, 0x0100, here but Mark Stockton
806 * reports that doing so triggers a bug in the '974. 806 * reports that doing so triggers a bug in the '974.
807 */ 807 */
@@ -826,7 +826,7 @@ lance_open(struct net_device *dev)
826 restarting the chip, but I'm too lazy to do so right now. dplatt@3do.com 826 restarting the chip, but I'm too lazy to do so right now. dplatt@3do.com
827*/ 827*/
828 828
829static void 829static void
830lance_purge_ring(struct net_device *dev) 830lance_purge_ring(struct net_device *dev)
831{ 831{
832 struct lance_private *lp = dev->priv; 832 struct lance_private *lp = dev->priv;
@@ -972,7 +972,7 @@ static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev)
972 goto out; 972 goto out;
973 lp->tx_ring[entry].length = -ETH_ZLEN; 973 lp->tx_ring[entry].length = -ETH_ZLEN;
974 } 974 }
975 else 975 else
976 lp->tx_ring[entry].length = -skb->len; 976 lp->tx_ring[entry].length = -skb->len;
977 } else 977 } else
978 lp->tx_ring[entry].length = -skb->len; 978 lp->tx_ring[entry].length = -skb->len;
@@ -1027,7 +1027,7 @@ lance_interrupt(int irq, void *dev_id, struct pt_regs * regs)
1027 1027
1028 ioaddr = dev->base_addr; 1028 ioaddr = dev->base_addr;
1029 lp = dev->priv; 1029 lp = dev->priv;
1030 1030
1031 spin_lock (&lp->devlock); 1031 spin_lock (&lp->devlock);
1032 1032
1033 outw(0x00, dev->base_addr + LANCE_ADDR); 1033 outw(0x00, dev->base_addr + LANCE_ADDR);
@@ -1051,7 +1051,7 @@ lance_interrupt(int irq, void *dev_id, struct pt_regs * regs)
1051 while (dirty_tx < lp->cur_tx) { 1051 while (dirty_tx < lp->cur_tx) {
1052 int entry = dirty_tx & TX_RING_MOD_MASK; 1052 int entry = dirty_tx & TX_RING_MOD_MASK;
1053 int status = lp->tx_ring[entry].base; 1053 int status = lp->tx_ring[entry].base;
1054 1054
1055 if (status < 0) 1055 if (status < 0)
1056 break; /* It still hasn't been Txed */ 1056 break; /* It still hasn't been Txed */
1057 1057
@@ -1142,7 +1142,7 @@ lance_rx(struct net_device *dev)
1142 struct lance_private *lp = dev->priv; 1142 struct lance_private *lp = dev->priv;
1143 int entry = lp->cur_rx & RX_RING_MOD_MASK; 1143 int entry = lp->cur_rx & RX_RING_MOD_MASK;
1144 int i; 1144 int i;
1145 1145
1146 /* If we own the next entry, it's a new packet. Send it up. */ 1146 /* If we own the next entry, it's a new packet. Send it up. */
1147 while (lp->rx_ring[entry].base >= 0) { 1147 while (lp->rx_ring[entry].base >= 0) {
1148 int status = lp->rx_ring[entry].base >> 24; 1148 int status = lp->rx_ring[entry].base >> 24;
@@ -1160,12 +1160,12 @@ lance_rx(struct net_device *dev)
1160 if (status & 0x04) lp->stats.rx_fifo_errors++; 1160 if (status & 0x04) lp->stats.rx_fifo_errors++;
1161 lp->rx_ring[entry].base &= 0x03ffffff; 1161 lp->rx_ring[entry].base &= 0x03ffffff;
1162 } 1162 }
1163 else 1163 else
1164 { 1164 {
1165 /* Malloc up new buffer, compatible with net3. */ 1165 /* Malloc up new buffer, compatible with net3. */
1166 short pkt_len = (lp->rx_ring[entry].msg_length & 0xfff)-4; 1166 short pkt_len = (lp->rx_ring[entry].msg_length & 0xfff)-4;
1167 struct sk_buff *skb; 1167 struct sk_buff *skb;
1168 1168
1169 if(pkt_len<60) 1169 if(pkt_len<60)
1170 { 1170 {
1171 printk("%s: Runt packet!\n",dev->name); 1171 printk("%s: Runt packet!\n",dev->name);
@@ -1174,14 +1174,14 @@ lance_rx(struct net_device *dev)
1174 else 1174 else
1175 { 1175 {
1176 skb = dev_alloc_skb(pkt_len+2); 1176 skb = dev_alloc_skb(pkt_len+2);
1177 if (skb == NULL) 1177 if (skb == NULL)
1178 { 1178 {
1179 printk("%s: Memory squeeze, deferring packet.\n", dev->name); 1179 printk("%s: Memory squeeze, deferring packet.\n", dev->name);
1180 for (i=0; i < RX_RING_SIZE; i++) 1180 for (i=0; i < RX_RING_SIZE; i++)
1181 if (lp->rx_ring[(entry+i) & RX_RING_MOD_MASK].base < 0) 1181 if (lp->rx_ring[(entry+i) & RX_RING_MOD_MASK].base < 0)
1182 break; 1182 break;
1183 1183
1184 if (i > RX_RING_SIZE -2) 1184 if (i > RX_RING_SIZE -2)
1185 { 1185 {
1186 lp->stats.rx_dropped++; 1186 lp->stats.rx_dropped++;
1187 lp->rx_ring[entry].base |= 0x80000000; 1187 lp->rx_ring[entry].base |= 0x80000000;