Bluetooth: Fix setting Universal/Local bit
authorClaudio Takahasi <claudio.takahasi@openbossa.org>
Tue, 7 Jan 2014 12:07:47 +0000 (09:07 -0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Tue, 7 Jan 2014 13:32:11 +0000 (11:32 -0200)
This patch fixes the Bluetooth Low Energy Address type checking when
setting Universal/Local bit for the 6loWPAN network device or for the
peer device connection.

ADDR_LE_DEV_PUBLIC or ADDR_LE_DEV_RANDOM are the values allowed for
"src_type" and "dst_type" in the hci_conn struct. The Bluetooth link
type can be obtainned reading the "type" field in the same struct.

Signed-off-by: Claudio Takahasi <claudio.takahasi@openbossa.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/6lowpan.c

index 5f0b11d94d950bc07054467f133a312a07600a69..ab4e7712457b2e1020ed8de715ff67b30157a86e 100644 (file)
@@ -623,7 +623,7 @@ static void set_addr(u8 *eui, u8 *addr, u8 addr_type)
        eui[0] ^= 2;
 
        /* Universal/local bit set, RFC 4291 */
-       if (addr_type == BDADDR_LE_PUBLIC)
+       if (addr_type == ADDR_LE_DEV_PUBLIC)
                eui[0] |= 1;
        else
                eui[0] &= ~1;