Bluetooth: Fix valid LE PSM check
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 6 Dec 2013 05:08:53 +0000 (07:08 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 6 Dec 2013 06:07:42 +0000 (22:07 -0800)
The range of valid LE PSMs is 0x0001-0x00ff so the check should be for
"less than or equal to" instead of "less than".

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/l2cap_core.c

index 35feb9d6c322b3bc67e7d0bacd57acacd12b4a9d..ae0054ccee5bdef476e0fb8edfa3b2f0a5b93f80 100644 (file)
@@ -1851,7 +1851,7 @@ static bool is_valid_psm(u16 psm, u8 dst_type)
                return false;
 
        if (bdaddr_type_is_le(dst_type))
-               return (psm < 0x00ff);
+               return (psm <= 0x00ff);
 
        /* PSM must be odd and lsb of upper byte must be 0 */
        return ((psm & 0x0101) == 0x0001);