Source-Changes-HG archive

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

[src/netbsd-1-5]: src/sys/dev/usb pullup 1.42 -> 1.43 (approved by releng-1-5)



details:   https://anonhg.NetBSD.org/src/rev/ae471d40aa1d
branches:  netbsd-1-5
changeset: 489490:ae471d40aa1d
user:      itojun <itojun%NetBSD.org@localhost>
date:      Wed Sep 20 19:57:23 2000 +0000

description:
pullup 1.42 -> 1.43 (approved by releng-1-5)
repair multicast filter setup.  PR 11037 from Ryoji Kato.

diffstat:

 sys/dev/usb/if_aue.c |  14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diffs (42 lines):

diff -r e42f9d45f0f4 -r ae471d40aa1d sys/dev/usb/if_aue.c
--- a/sys/dev/usb/if_aue.c      Wed Sep 20 18:29:30 2000 +0000
+++ b/sys/dev/usb/if_aue.c      Wed Sep 20 19:57:23 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_aue.c,v 1.42 2000/06/01 14:28:57 augustss Exp $     */
+/*     $NetBSD: if_aue.c,v 1.42.2.1 2000/09/20 19:57:23 itojun Exp $   */
 /*
  * Copyright (c) 1997, 1998, 1999, 2000
  *     Bill Paul <wpaul%ee.columbia.edu@localhost>.  All rights reserved.
@@ -631,7 +631,7 @@
                if (ifma->ifma_addr->sa_family != AF_LINK)
                        continue;
                h = aue_crc(LLADDR((struct sockaddr_dl *)ifma->ifma_addr));
-               AUE_SETBIT(sc, AUE_MAR + (h >> 3), 1 << (h & 0xF));
+               AUE_SETBIT(sc, AUE_MAR + (h >> 3), 1 << (h & 0x7));
        }
 #elif defined(__NetBSD__) || defined(__OpenBSD__)
 #if defined(__NetBSD__)
@@ -649,7 +649,7 @@
                }
 #endif
                h = aue_crc(enm->enm_addrlo);
-               AUE_SETBIT(sc, AUE_MAR + (h >> 3), 1 << (h & 0xF));
+               AUE_SETBIT(sc, AUE_MAR + (h >> 3), 1 << (h & 0x7));
                ETHER_NEXT_MULTI(step, enm);
        }
 #endif /* defined(__NetBSD__) || defined(__OpenBSD__) */
@@ -1719,6 +1719,14 @@
                break;
        case SIOCADDMULTI:
        case SIOCDELMULTI:
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+               error = (command == SIOCADDMULTI) ?
+                       ether_addmulti(ifr, &sc->aue_ec) :
+                       ether_delmulti(ifr, &sc->aue_ec);
+               if (error == ENETRESET) {
+                       aue_init(sc);
+               }
+#endif /* defined(__NetBSD__) || defined(__OpenBSD__) */
                aue_setmulti(sc);
                error = 0;
                break;



Home | Main Index | Thread Index | Old Index