From f774312a5ed9117f28ee2f5da0ca12ae402e45d2 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 17 Jun 2010 22:35:03 -0700 Subject: wifi: fix updating of IBSS BSSIDs First by is OR-ed with 0x02, it won't always equal 0x02. --- src/nm-device-wifi.c | 6 ++++-- 1 file 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); } -- cgit v1.2.3