net: brcm80211: fix range check
authorAndrzej Hajda <a.hajda@samsung.com>
Mon, 21 Sep 2015 13:33:52 +0000 (15:33 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Sep 2015 23:14:32 +0000 (16:14 -0700)
Unsigned minus constant is still unsigned so checking its sign makes no
sense.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/brcm80211/brcmsmac/main.c

index 9728be0e704bc703d9e2bc1868e6656fe3729157..218cbc8bf3a7c329dda5022de8553e243707ce98 100644 (file)
@@ -4585,7 +4585,7 @@ static int brcms_b_attach(struct brcms_c_info *wlc, struct bcma_device *core,
                wlc_hw->machwcap_backup = wlc_hw->machwcap;
 
                /* init tx fifo size */
-               WARN_ON((wlc_hw->corerev - XMTFIFOTBL_STARTREV) < 0 ||
+               WARN_ON(wlc_hw->corerev < XMTFIFOTBL_STARTREV ||
                        (wlc_hw->corerev - XMTFIFOTBL_STARTREV) >
                                ARRAY_SIZE(xmtfifo_sz));
                wlc_hw->xmtfifo_sz =