patch-2.4.0-test10 linux/drivers/net/pcmcia/3c589_cs.c
Next file: linux/drivers/net/pcmcia/fmvj18x_cs.c
Previous file: linux/drivers/net/pcmcia/3c574_cs.c
Back to the patch index
Back to the overall index
- Lines: 59
- Date:
Thu Oct 26 16:52:16 2000
- Orig file:
v2.4.0-test9/linux/drivers/net/pcmcia/3c589_cs.c
- Orig date:
Sat Sep 2 00:15:37 2000
diff -u --recursive --new-file v2.4.0-test9/linux/drivers/net/pcmcia/3c589_cs.c linux/drivers/net/pcmcia/3c589_cs.c
@@ -4,7 +4,7 @@
Copyright (C) 1999 David A. Hinds -- dahinds@users.sourceforge.net
- 3c589_cs.c 1.153 2000/06/12 21:27:25
+ 3c589_cs.c 1.154 2000/09/30 17:39:04
The network driver code is based on Donald Becker's 3c589 code:
@@ -117,7 +117,7 @@
MODULE_PARM(pc_debug, "i");
#define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args)
static char *version =
-"3c589_cs.c 1.153 2000/06/12 21:27:25 (David Hinds)";
+"3c589_cs.c 1.154 2000/09/30 17:39:04 (David Hinds)";
#else
#define DEBUG(n, args...)
#endif
@@ -1007,36 +1007,19 @@
return 0;
}
-/* Set or clear the multicast filter for this adapter.
- num_addrs == -1 Promiscuous mode, receive all packets
- num_addrs == 0 Normal mode, clear multicast list
- num_addrs > 0 Multicast mode, receive normal and MC packets, and do
- best-effort filtering.
- */
static void set_multicast_list(struct net_device *dev)
{
struct el3_private *lp = dev->priv;
dev_link_t *link = &lp->link;
ioaddr_t ioaddr = dev->base_addr;
+ u_short opts = SetRxFilter | RxStation | RxBroadcast;
if (!(DEV_OK(link))) return;
-#ifdef PCMCIA_DEBUG
- if (pc_debug > 2) {
- static int old = 0;
- if (old != dev->mc_count) {
- old = dev->mc_count;
- DEBUG(0, "%s: setting Rx mode to %d addresses.\n",
- dev->name, old);
- }
- }
-#endif
if (dev->flags & IFF_PROMISC)
- outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast | RxProm,
- ioaddr + EL3_CMD);
+ opts |= RxMulticast | RxProm;
else if (dev->mc_count || (dev->flags & IFF_ALLMULTI))
- outw(SetRxFilter|RxStation|RxMulticast|RxBroadcast, ioaddr + EL3_CMD);
- else
- outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD);
+ opts |= RxMulticast;
+ outw(opts, ioaddr + EL3_CMD);
}
static int el3_close(struct net_device *dev)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)