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>
This commit is contained in:
parent
cdbbe3d1f5
commit
89796f64a2
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user