rndis_wlan: fix checking for default value
authorAndrzej Hajda <a.hajda@samsung.com>
Mon, 21 Sep 2015 13:33:55 +0000 (15:33 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Sep 2015 23:14:32 +0000 (16:14 -0700)
Thresholds uses -1 to indicate that default value should be used.
Since thresholds are unsigned sign checking 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/rndis_wlan.c

index 71a825c750cfc5523fb28d40286cb22888b1bb26..a13d1f2b5912e09e31a4e1b2834ee5eb2d9825bc 100644 (file)
@@ -1236,7 +1236,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold)
 
        netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold);
 
-       if (rts_threshold < 0 || rts_threshold > 2347)
+       if (rts_threshold == -1 || rts_threshold > 2347)
                rts_threshold = 2347;
 
        tmp = cpu_to_le32(rts_threshold);