100-madwifi_fix.patch 632 B

123456789101112131415161718192021222324252627
  1. --- a/hostapd/driver_madwifi.c
  2. +++ b/hostapd/driver_madwifi.c
  3. @@ -312,6 +312,7 @@ madwifi_set_iface_flags(void *priv, int
  4. {
  5. struct madwifi_driver_data *drv = priv;
  6. struct ifreq ifr;
  7. + short flags;
  8. wpa_printf(MSG_DEBUG, "%s: dev_up=%d", __func__, dev_up);
  9. @@ -326,10 +327,14 @@ madwifi_set_iface_flags(void *priv, int
  10. return -1;
  11. }
  12. + flags = ifr.ifr_flags;
  13. if (dev_up)
  14. - ifr.ifr_flags |= IFF_UP;
  15. + flags |= IFF_UP;
  16. else
  17. - ifr.ifr_flags &= ~IFF_UP;
  18. + flags &= ~IFF_UP;
  19. +
  20. + if (flags == ifr.ifr_flags)
  21. + return 0;
  22. if (ioctl(drv->ioctl_sock, SIOCSIFFLAGS, &ifr) != 0) {
  23. perror("ioctl[SIOCSIFFLAGS]");