Staging: wlan-ng: silence a sparse warning
authorDan Carpenter <error27@gmail.com>
Thu, 17 Jun 2010 12:08:47 +0000 (14:08 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Jun 2010 22:33:57 +0000 (15:33 -0700)
This doesn't change the behavior.  It just silences a sparse warning.

drivers/staging/wlan-ng/hfa384x_usb.c:2810:62: warning: dubious: !x | !y

The point of the bitwise OR is so that a logical OR could short circuit
the second call to test_and_set_bit().

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/wlan-ng/hfa384x_usb.c

index a41db5dc8c7c592a0f8c670495682ecb97def021..563017aaa3636d2cb0e9c04aab0a93d1cf9150cc 100644 (file)
@@ -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);