Bluetooth: Fix access to the STK generation methods matrix
authorIdo Yariv <ido@wizery.com>
Mon, 5 Mar 2012 18:07:08 +0000 (20:07 +0200)
committerGustavo F. Padovan <padovan@profusion.mobi>
Thu, 8 Mar 2012 05:25:00 +0000 (02:25 -0300)
The major index of the table is actually the remote I/O capabilities, not
the local ones. As a result, devices with different I/O capabilities
could have used wrong or even unsupported generation methods.

Signed-off-by: Ido Yariv <ido@wizery.com>
CC: Brian Gix <bgix@codeaurora.org>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/smp.c

index 8f56282..9883d67 100644 (file)
@@ -310,7 +310,7 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,
                        remote_io > SMP_IO_KEYBOARD_DISPLAY)
                method = JUST_WORKS;
        else
-               method = gen_method[local_io][remote_io];
+               method = gen_method[remote_io][local_io];
 
        /* If not bonding, don't ask user to confirm a Zero TK */
        if (!(auth & SMP_AUTH_BONDING) && method == JUST_CFM)