diff options
-rw-r--r-- | src/nm-device-wifi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nm-device-wifi.c b/src/nm-device-wifi.c index 7bc242c4a9..84c65917b9 100644 --- a/src/nm-device-wifi.c +++ b/src/nm-device-wifi.c @@ -917,8 +917,10 @@ periodic_update (NMDeviceWifi *self) struct ether_addr bssid = { {0x0, 0x0, 0x0, 0x0, 0x0, 0x0} }; nm_device_wifi_get_bssid (self, &bssid); - /* 0x02 is the first byte of IBSS BSSIDs */ - if ( (bssid.ether_addr_octet[0] == 0x02) + /* 0x02 means "locally administered" and should be OR-ed into + * the first byte of IBSS BSSIDs. + */ + if ( (bssid.ether_addr_octet[0] & 0x02) && nm_ethernet_address_is_valid (&bssid)) nm_ap_set_address (priv->current_ap, &bssid); } |