about summary refs log tree commit diff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog5
-rw-r--r--debian/patches/06-handle-new-ssb-bus-from-HAL-0.5.13.patch50
-rw-r--r--debian/patches/series1
3 files changed, 56 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 98aeb5d0..4f419677 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,11 @@ network-manager (0.7.1-2) UNRELEASED; urgency=low
   * debian/control
     - Add Build-Depends on libudev-dev. This allows to query udev for modem
       capabilites without having to spawn udevadm.
+  * debian/patches/06-handle-new-ssb-bus-from-HAL-0.5.13.patch
+    - HAL 0.5.13 added support for the ssb bus type which is internally used
+      on most Broadcom ethernet and wifi chipsets. Update NM to detect the
+      driver for the changed device layout. (Closes: #540613)
+      Patch pulled from upstream git.
 
   [ Sjoerd Simons ]
   * debian/control
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