From b71b1e66c804562205057c2f328995936341da37 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 17 Jun 2009 07:24:28 -0400 Subject: [PATCH] rfkill: fix mixed-up soft/hard kill states --- src/nm-manager.c | 14 +++++++------- src/nm-udev-manager.c | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/nm-manager.c b/src/nm-manager.c index 708a5bc3b..9375f72eb 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -2379,28 +2379,28 @@ void nm_manager_start (NMManager *self) { NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); - gboolean enabled; + gboolean we = FALSE; switch (nm_udev_manager_get_rfkill_state (priv->udev_mgr)) { case RFKILL_UNBLOCKED: - priv->wireless_enabled = TRUE; + we = TRUE; priv->wireless_hw_enabled = TRUE; break; case RFKILL_SOFT_BLOCKED: - priv->wireless_enabled = FALSE; + we = FALSE; priv->wireless_hw_enabled = TRUE; break; case RFKILL_HARD_BLOCKED: - priv->wireless_enabled = FALSE; + we = FALSE; priv->wireless_hw_enabled = FALSE; break; default: break; } - enabled = (priv->wireless_enabled && priv->wireless_hw_enabled); - nm_info ("Wireless now %s by radio killswitch", enabled ? "enabled" : "disabled"); - manager_set_wireless_enabled (self, enabled); + nm_info ("Wireless now %s by radio killswitch", + (priv->wireless_hw_enabled && we) ? "enabled" : "disabled"); + manager_set_wireless_enabled (self, we); system_unmanaged_devices_changed_cb (priv->sys_settings, NULL, self); system_hostname_changed_cb (priv->sys_settings, NULL, self); diff --git a/src/nm-udev-manager.c b/src/nm-udev-manager.c index f8a9a136b..c9a184d8f 100644 --- a/src/nm-udev-manager.c +++ b/src/nm-udev-manager.c @@ -129,11 +129,11 @@ sysfs_state_to_nm_state (gint sysfs_state) { switch (sysfs_state) { case 0: - return RFKILL_HARD_BLOCKED; + return RFKILL_SOFT_BLOCKED; case 1: return RFKILL_UNBLOCKED; case 2: - return RFKILL_SOFT_BLOCKED; + return RFKILL_HARD_BLOCKED; default: g_warning ("%s: Unhandled rfkill state %d", __func__, sysfs_state); break;