diff options
author | Carlos Corbacho <carlos@strangeworlds.co.uk> | 2008-04-12 17:39:47 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-15 21:04:35 +0200 |
commit | 89796f64a20d31e74ee0051df2e26812c852e734 (patch) | |
tree | 5430ac55e047fa88c5cc11f1d1f1e8b95ceddf56 | |
parent | b43legacy: Fix usage of struct device used for DMAing (diff) | |
download | linux-89796f64a20d31e74ee0051df2e26812c852e734.tar.xz linux-89796f64a20d31e74ee0051df2e26812c852e734.zip |
rfkill: Fix device type check when toggling states
rfkill_switch_all() is supposed to only switch all the interfaces of a
given type, but does not actually do this; instead, it just switches
everything currently in the same state.
Add the necessary type check in.
(This fixes a bug I've been seeing while developing an rfkill laptop
driver, with both bluetooth and wireless simultaneously changing state
after only pressing either KEY_WLAN or KEY_BLUETOOTH).
Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | net/rfkill/rfkill.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c index 140a0a8c6b02..4e10a95de832 100644 --- a/net/rfkill/rfkill.c +++ b/net/rfkill/rfkill.c @@ -92,7 +92,7 @@ void rfkill_switch_all(enum rfkill_type type, enum rfkill_state state) rfkill_states[type] = state; list_for_each_entry(rfkill, &rfkill_list, node) { - if (!rfkill->user_claim) + if ((!rfkill->user_claim) && (rfkill->type == type)) rfkill_toggle_radio(rfkill, state); } |