wifi: don't query nl80211 for non-WiFi devices (bgo #740131)

The upstream kernel added module aliases for nl80211 in commit
fb4e156886ce6e8309e912d8b370d192330d19d3, so querying nl80211
now auto-loads the module.  Previously NM was doing this to
determine whether an ethernet-like device was a Wi-Fi device
that supported nl80211, but this leads to the nl80211 loading
on platforms that will never have or use Wi-Fi.

Since every nl80211-capable device will already have
DEVTYPE=wlan set (from /sys/class/net/wlan0/uevent), we can use
that as an indicator that the ethernet-like device is WiFi
instead of asking nl80211.

https://bugzilla.gnome.org/show_bug.cgi?id=740131
This commit is contained in:
Dan Williams
2014-11-14 11:05:16 -06:00
parent eeb4306111
commit 45bfb653f3
5 changed files with 10 additions and 53 deletions

View File

@@ -29,7 +29,7 @@
typedef struct WifiData WifiData;
gboolean wifi_utils_is_wifi (const char *iface, const char *sysfs_path);
gboolean wifi_utils_is_wifi (const char *iface, const char *sysfs_path, const char *devtype);
WifiData *wifi_utils_init (const char *iface, int ifindex, gboolean check_scan);