From 10b4f86e8fb3bcfe0c41d185dcf3f09f6804352e Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Thu, 17 Jun 2010 14:08:47 +0200 Subject: [PATCH] --- yaml --- r: 205645 b: refs/heads/master c: 594578979d0e25e178e0243eca9aa53499b89b05 h: refs/heads/master i: 205643: 74981635b1c1a0e6651d6fc0da7a3a047afdff0a v: v3 --- [refs] | 2 +- trunk/drivers/staging/wlan-ng/hfa384x_usb.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index d28df2b02157..0bfdc0f54b4f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 25ebc2f42b07d5aab3b336f5970b8d52b00dd3e2 +refs/heads/master: 594578979d0e25e178e0243eca9aa53499b89b05 diff --git a/trunk/drivers/staging/wlan-ng/hfa384x_usb.c b/trunk/drivers/staging/wlan-ng/hfa384x_usb.c index a41db5dc8c7c..563017aaa363 100644 --- a/trunk/drivers/staging/wlan-ng/hfa384x_usb.c +++ b/trunk/drivers/staging/wlan-ng/hfa384x_usb.c @@ -2805,11 +2805,13 @@ void hfa384x_tx_timeout(wlandevice_t *wlandev) spin_lock_irqsave(&hw->ctlxq.lock, flags); - if (!hw->wlandev->hwremoved && - /* Note the bitwise OR, not the logical OR. */ - (!test_and_set_bit(WORK_TX_HALT, &hw->usb_flags) | - !test_and_set_bit(WORK_RX_HALT, &hw->usb_flags))) { - schedule_work(&hw->usb_work); + if (!hw->wlandev->hwremoved) { + int sched; + + sched = !test_and_set_bit(WORK_TX_HALT, &hw->usb_flags); + sched |= !test_and_set_bit(WORK_RX_HALT, &hw->usb_flags); + if (sched) + schedule_work(&hw->usb_work); } spin_unlock_irqrestore(&hw->ctlxq.lock, flags);