From 6cf51f0cc0ff7f0cfc0ddffbaa7706659346e978 Mon Sep 17 00:00:00 2001 From: Inaky Perez-Gonzalez Date: Sat, 3 Oct 2009 16:51:02 +0900 Subject: [PATCH] --- yaml --- r: 171229 b: refs/heads/master c: 81d3f905389e22bb9a5176b9309c3f451c260e1a h: refs/heads/master i: 171227: 39c0b7b259fc6ec3c4104c4ba183cd9c6a4f8195 v: v3 --- [refs] | 2 +- trunk/net/wimax/op-rfkill.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f04ccab2a6c8..de03a226018e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de9315fa3a35ebe587cc1a1c88655d095846785e +refs/heads/master: 81d3f905389e22bb9a5176b9309c3f451c260e1a diff --git a/trunk/net/wimax/op-rfkill.c b/trunk/net/wimax/op-rfkill.c index 40e1210cdbd8..94d339c345d2 100644 --- a/trunk/net/wimax/op-rfkill.c +++ b/trunk/net/wimax/op-rfkill.c @@ -305,8 +305,15 @@ int wimax_rfkill(struct wimax_dev *wimax_dev, enum wimax_rf_state state) d_fnstart(3, dev, "(wimax_dev %p state %u)\n", wimax_dev, state); mutex_lock(&wimax_dev->mutex); result = wimax_dev_is_ready(wimax_dev); - if (result < 0) + if (result < 0) { + /* While initializing, < 1.4.3 wimax-tools versions use + * this call to check if the device is a valid WiMAX + * device; so we allow it to proceed always, + * considering the radios are all off. */ + if (result == -ENOMEDIUM && state == WIMAX_RF_QUERY) + result = WIMAX_RF_OFF << 1 | WIMAX_RF_OFF; goto error_not_ready; + } switch (state) { case WIMAX_RF_ON: case WIMAX_RF_OFF: