1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
From 8525124a99bccff0d6b54f5e681ae4b42da8d078 Mon Sep 17 00:00:00 2001
From: Johannes Berg <johannes@sipsolutions.net>
Date: Fri, 23 May 2008 17:29:47 +0200
Subject: [PATCH 01/48] use 'phy80211' instead of 'wiphy' symlink to detect wireless
When hal wants to determine whether a device is wireless or not,
it looks up the 'wiphy' symlink that only existed in unreleased
versions of cfg80211, mainline uses 'phy80211' now.
---
hald/linux/device.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/hald/linux/device.c b/hald/linux/device.c
index e48548e..596e113 100644
--- a/hald/linux/device.c
+++ b/hald/linux/device.c
@@ -533,7 +533,7 @@ net_add (const gchar *sysfs_path, const gchar *device_file, HalDevice *parent_de
const char *parent_subsys;
char bridge_path[HAL_PATH_MAX];
char wireless_path[HAL_PATH_MAX];
- char wiphy_path[HAL_PATH_MAX];
+ char phy80211_path[HAL_PATH_MAX];
struct stat s;
dbus_uint64_t mac_address = 0;
@@ -554,9 +554,10 @@ net_add (const gchar *sysfs_path, const gchar *device_file, HalDevice *parent_de
}
snprintf (bridge_path, HAL_PATH_MAX, "%s/bridge", sysfs_path);
+ /* wireless extensions */
snprintf (wireless_path, HAL_PATH_MAX, "%s/wireless", sysfs_path);
- /* wireless dscape stack e.g. from rt2500pci driver*/
- snprintf (wiphy_path, HAL_PATH_MAX, "%s/wiphy", sysfs_path);
+ /* cfg80211 */
+ snprintf (phy80211_path, HAL_PATH_MAX, "%s/phy80211", sysfs_path);
parent_subsys = hal_device_property_get_string (parent_dev, "info.subsystem");
if (parent_subsys && strcmp(parent_subsys, "bluetooth") == 0) {
@@ -565,7 +566,7 @@ net_add (const gchar *sysfs_path, const gchar *device_file, HalDevice *parent_de
hal_device_add_capability (d, "net.bluetooth");
hal_device_property_set_uint64 (d, "net.bluetooth.mac_address", mac_address);
} else if ((stat (wireless_path, &s) == 0 && (s.st_mode & S_IFDIR)) ||
- (stat (wiphy_path, &s) == 0 && (s.st_mode & S_IFDIR))) {
+ (stat (phy80211_path, &s) == 0 && (s.st_mode & S_IFDIR))) {
hal_device_property_set_string (d, "info.product", "WLAN Interface");
hal_device_property_set_string (d, "info.category", "net.80211");
hal_device_add_capability (d, "net.80211");
--
1.6.1.2
|