ieee802154: atusb: fix firmware version check to enable frame retries
authorStefan Schmidt <stefan@osg.samsung.com>
Fri, 22 Sep 2017 08:44:57 +0000 (10:44 +0200)
committerStefan Schmidt <stefan@osg.samsung.com>
Tue, 26 Sep 2017 13:22:44 +0000 (15:22 +0200)
Geert reported: as fw_ver_maj is unsigned char, gcc 4.1.2 complains:

warning: comparison is always true due to limited range of data type

Besides the warning the old check would also fail for firmware versions
like 1.x with x < 3. These would support frame retries, but the driver
would not enable the feature.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Stefan Schmidt <stefan@osg.samsung.com>
drivers/net/ieee802154/atusb.c

index 115fa3f37a86a22aee42419d89945f62598db14e..6b3cdf4bd667ce2811ae77a895a247669ed1ea4e 100644 (file)
@@ -1060,7 +1060,7 @@ static int atusb_probe(struct usb_interface *interface,
        atusb_get_and_show_build(atusb);
        atusb_set_extended_addr(atusb);
 
-       if (atusb->fw_ver_maj >= 0 && atusb->fw_ver_min >= 3)
+       if ((atusb->fw_ver_maj == 0 && atusb->fw_ver_min >= 3) || atusb->fw_ver_maj > 0)
                hw->flags |= IEEE802154_HW_FRAME_RETRIES;
 
        ret = atusb_get_and_clear_error(atusb);