Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic Tweak handling of multicast on 80C04. I think we...



details:   https://anonhg.NetBSD.org/src/rev/867c9c90b8c6
branches:  trunk
changeset: 507542:867c9c90b8c6
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Sun Mar 25 01:06:59 2001 +0000

description:
Tweak handling of multicast on 80C04.  I think we need to set the match mode
to "multicast" for it to work, but I could be wrong.

Also make ALLMULTI work on 80C04, but this is untested.

diffstat:

 sys/dev/ic/seeq8005.c |  9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diffs (39 lines):

diff -r 3b7ed0e2993b -r 867c9c90b8c6 sys/dev/ic/seeq8005.c
--- a/sys/dev/ic/seeq8005.c     Sun Mar 25 00:56:58 2001 +0000
+++ b/sys/dev/ic/seeq8005.c     Sun Mar 25 01:06:59 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: seeq8005.c,v 1.12 2001/03/24 23:31:06 bjh21 Exp $ */
+/* $NetBSD: seeq8005.c,v 1.13 2001/03/25 01:06:59 bjh21 Exp $ */
 
 /*
  * Copyright (c) 2000 Ben Harris
@@ -64,7 +64,7 @@
 #include <sys/types.h>
 #include <sys/param.h>
 
-__RCSID("$NetBSD: seeq8005.c,v 1.12 2001/03/24 23:31:06 bjh21 Exp $");
+__RCSID("$NetBSD: seeq8005.c,v 1.13 2001/03/25 01:06:59 bjh21 Exp $");
 
 #include <sys/systm.h>
 #include <sys/endian.h>
@@ -699,9 +699,10 @@
                sc->sc_config2 |= SEEQ_CFG2_RX_TX_DISABLE;
 
        /* Configure rx. */
+       ea_mc_reset(sc);
        if (ifp->if_flags & IFF_PROMISC)
                sc->sc_config1 = SEEQ_CFG1_PROMISCUOUS;
-       else if (ifp->if_flags & IFF_ALLMULTI)
+       else if ((ifp->if_flags & IFF_ALLMULTI) || sc->sc_variant == SEEQ_8004)
                sc->sc_config1 = SEEQ_CFG1_MULTICAST;
        else
                sc->sc_config1 = SEEQ_CFG1_BROADCAST;
@@ -1365,7 +1366,7 @@
                        ifp->if_flags |= IFF_ALLMULTI;
                        for (i = 0; i < 8; i++)
                                af[i] = 0xff;
-                       return;
+                       break;
                }
                cp = enm->enm_addrlo;
                crc = 0xffffffff;



Home | Main Index | Thread Index | Old Index