about summary refs log tree commit diff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/06-handle-new-ssb-bus-from-HAL-0.5.13.patch50
-rw-r--r--debian/patches/series1
2 files changed, 51 insertions, 0 deletions
diff --git a/debian/patches/06-handle-new-ssb-bus-from-HAL-0.5.13.patch b/debian/patches/06-handle-new-ssb-bus-from-HAL-0.5.13.patch
new file mode 100644
index 00000000..aa19d5d1
--- /dev/null
+++ b/debian/patches/06-handle-new-ssb-bus-from-HAL-0.5.13.patch
@@ -0,0 +1,50 @@
+From d185695d80b248354dd7a95fd896daa5c45085e5 Mon Sep 17 00:00:00 2001
+From: Dan Williams <dcbw@redhat.com>
+Date: Fri, 14 Aug 2009 09:44:02 -0500
+Subject: [PATCH] core: handle new 'ssb' bus from HAL 0.5.13 (deb #540613)
+
+HAL added 'ssb' (Silicon Sonics Backplane, used internally on most
+Broadcom ethernet and wifi chipsets) in 0.5.13, which changed the
+device list layout and made NM unable to get the driver for the
+wifi device.  Fix that.
+---
+ src/nm-hal-manager.c |   16 +++++++++++-----
+ 1 files changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/src/nm-hal-manager.c b/src/nm-hal-manager.c
+index 581d79e..a49e9e6 100644
+--- a/src/nm-hal-manager.c
++++ b/src/nm-hal-manager.c
+@@ -146,9 +146,14 @@ nm_get_device_driver_name (LibHalContext *ctx, const char *origdev_udi)
+ 
+ 	/* s390 driver name is on the grandparent of the net device */
+ 	subsystem = hal_get_subsystem (ctx, origdev_udi);
+-	if (subsystem && !strcmp (subsystem, "ibmebus")) {
+-		od_parent = libhal_device_get_property_string (ctx, origdev_udi, "info.parent", NULL);
+-		origdev_udi = (const char *) od_parent;
++	if (subsystem) {
++		if (!strcmp (subsystem, "ibmebus")) {
++			od_parent = libhal_device_get_property_string (ctx, origdev_udi, "info.parent", NULL);
++			origdev_udi = (const char *) od_parent;
++		} else if (!strcmp (subsystem, "ssb")) {
++			od_parent = libhal_device_get_property_string (ctx, origdev_udi, "info.parent", NULL);
++			origdev_udi = (const char *) od_parent;
++		}
+ 	}
+ 
+ 	drv = libhal_device_get_property_string (ctx, origdev_udi, "info.linux.driver", NULL);
+@@ -1214,8 +1219,9 @@ emit_udi_added (NMHalManager *self, const char *udi, DeviceCreator *creator)
+ 	libhal_free_string (subsys);
+ 	libhal_free_string (parent);
+ 
+-	/* For non-USB devices, and ss a fallback, just use the originating device
+-	 * of the tty; though this might result in more than one modem being detected by NM.
++	/* For non-USB devices, and as a fallback, just use the originating device
++	 * of the tty; though this might result in more than one modem being
++	 * detected by NM.
+ 	 */
+ 	if (!od)
+ 		od = hal_get_originating_device (priv->hal_ctx, udi, creator->category);
+-- 
+1.6.3.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 15d456d1..f718a5d7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
 #20-manual_means_always_online.patch
 04-struct_termios.patch
 05-response-buffer-filled.patch
+06-handle-new-ssb-bus-from-HAL-0.5.13.patch