aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>2009-06-16 09:53:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-06-19 11:50:17 -0400
commit7fa20a7f60df0afceafbb8197b5d110507f42c72 (patch)
tree4f27f607618bc48c9b8c83f4169af70abac913d3 /net
parentf0214843ba23d9bf6dc6b8ad2c6ee27b60f0322e (diff)
rfkill: rfkill_set_block() when suspended nitpick
If we return after fiddling with the state, userspace will see the wrong state and rfkill_set_sw_state() won't work until the next call to rfkill_set_block(). At the moment rfkill_set_block() will always be called from rfkill_resume(), but this will change in future. Also, presumably the point of this test is to avoid bothering devices which may be suspended. If we don't want to call set_block(), we probably don't want to call query() either :-). Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/rfkill/core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/rfkill/core.c b/net/rfkill/core.c
index 4e68ab439d5d..868d79f8ac1d 100644
--- a/net/rfkill/core.c
+++ b/net/rfkill/core.c
@@ -270,6 +270,9 @@ static void rfkill_set_block(struct rfkill *rfkill, bool blocked)
270 unsigned long flags; 270 unsigned long flags;
271 int err; 271 int err;
272 272
273 if (unlikely(rfkill->dev.power.power_state.event & PM_EVENT_SLEEP))
274 return;
275
273 /* 276 /*
274 * Some platforms (...!) generate input events which affect the 277 * Some platforms (...!) generate input events which affect the
275 * _hard_ kill state -- whenever something tries to change the 278 * _hard_ kill state -- whenever something tries to change the
@@ -292,9 +295,6 @@ static void rfkill_set_block(struct rfkill *rfkill, bool blocked)
292 rfkill->state |= RFKILL_BLOCK_SW_SETCALL; 295 rfkill->state |= RFKILL_BLOCK_SW_SETCALL;
293 spin_unlock_irqrestore(&rfkill->lock, flags); 296 spin_unlock_irqrestore(&rfkill->lock, flags);
294 297
295 if (unlikely(rfkill->dev.power.power_state.event & PM_EVENT_SLEEP))
296 return;
297
298 err = rfkill->ops->set_block(rfkill->data, blocked); 298 err = rfkill->ops->set_block(rfkill->data, blocked);
299 299
300 spin_lock_irqsave(&rfkill->lock, flags); 300 spin_lock_irqsave(&rfkill->lock, flags);