+ if ((changed_flags & (FIF_PROMISC_IN_BSS | FIF_ALLMULTI)) == 0)
+ return;
/* firmwares don't have allmulti capability,
* so just use promiscuous mode instead in this case. */
- if (netflags & (IFF_PROMISC | IFF_ALLMULTI)) {
+ if ((changed_flags & (FIF_PROMISC_IN_BSS | FIF_ALLMULTI)) == 0)
+ return;
/* firmwares don't have allmulti capability,
* so just use promiscuous mode instead in this case. */
- if (netflags & (IFF_PROMISC | IFF_ALLMULTI)) {