23 Nov, 2016

1 commit

  • The hci_get_route() API is used to look up local HCI devices, however
    so far it has been incapable of dealing with anything else than the
    public address of HCI devices. This completely breaks with LE-only HCI
    devices that do not come with a public address, but use a static
    random address instead.

    This patch exteds the hci_get_route() API with a src_type parameter
    that's used for comparing with the right address of each HCI device.

    Signed-off-by: Johan Hedberg
    Signed-off-by: Marcel Holtmann

    Johan Hedberg
     

20 Oct, 2016

1 commit


06 Oct, 2016

3 commits


22 Sep, 2016

2 commits

  • Scan response data should not be updated unless there
    is an advertising instance.

    Signed-off-by: Michał Narajowski
    Signed-off-by: Marcel Holtmann

    Michał Narajowski
     
  • Adds missing callback assignment to cmd_complete in pending management command
    context. Dump path involves security procedure performed on legacy (pre-SSP)
    devices with service security requirements set to HIGH (16digits PIN).
    It fails when shorter PIN is delivered by user.

    [ 1.517950] Bluetooth: PIN code is not 16 bytes long
    [ 1.518491] BUG: unable to handle kernel NULL pointer dereference at (null)
    [ 1.518584] IP: [< (null)>] (null)
    [ 1.518584] PGD 9e08067 PUD 9fdf067 PMD 0
    [ 1.518584] Oops: 0010 [#1] SMP
    [ 1.518584] Modules linked in:
    [ 1.518584] CPU: 0 PID: 1002 Comm: kworker/u3:2 Not tainted 4.8.0-rc6-354649-gaf4168c #16
    [ 1.518584] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.9.3-20160701_074356-anatol 04/01/2014
    [ 1.518584] Workqueue: hci0 hci_rx_work
    [ 1.518584] task: ffff880009ce14c0 task.stack: ffff880009e10000
    [ 1.518584] RIP: 0010:[] [< (null)>] (null)
    [ 1.518584] RSP: 0018:ffff880009e13bc8 EFLAGS: 00010293
    [ 1.518584] RAX: 0000000000000000 RBX: ffff880009eed100 RCX: 0000000000000006
    [ 1.518584] RDX: ffff880009ddc000 RSI: 0000000000000000 RDI: ffff880009eed100
    [ 1.518584] RBP: ffff880009e13be0 R08: 0000000000000000 R09: 0000000000000001
    [ 1.518584] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
    [ 1.518584] R13: ffff880009e13ccd R14: ffff880009ddc000 R15: ffff880009ddc010
    [ 1.518584] FS: 0000000000000000(0000) GS:ffff88000bc00000(0000) knlGS:0000000000000000
    [ 1.518584] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 1.518584] CR2: 0000000000000000 CR3: 0000000009fdd000 CR4: 00000000000006f0
    [ 1.518584] Stack:
    [ 1.518584] ffffffff81909808 ffff880009e13cce ffff880009e0d40b ffff880009e13c68
    [ 1.518584] ffffffff818f428d 00000000024000c0 ffff880009e13c08 ffffffff810ca903
    [ 1.518584] ffff880009e13c48 ffffffff811ade34 ffffffff8178c31f ffff880009ee6200
    [ 1.518584] Call Trace:
    [ 1.518584] [] ? mgmt_pin_code_neg_reply_complete+0x38/0x60
    [ 1.518584] [] hci_cmd_complete_evt+0x69d/0x3200
    [ 1.518584] [] ? rcu_read_lock_sched_held+0x53/0x60
    [ 1.518584] [] ? kmem_cache_alloc+0x1a4/0x200
    [ 1.518584] [] ? skb_clone+0x4f/0xa0
    [ 1.518584] [] hci_event_packet+0x8e1/0x28e0
    [ 1.518584] [] ? _raw_spin_unlock_irqrestore+0x31/0x50
    [ 1.518584] [] ? trace_hardirqs_on_caller+0xee/0x1b0
    [ 1.518584] [] hci_rx_work+0x1e1/0x5b0
    [ 1.518584] [] ? process_one_work+0x1ed/0x6b0
    [ 1.518584] [] process_one_work+0x268/0x6b0
    [ 1.518584] [] ? process_one_work+0x1ed/0x6b0
    [ 1.518584] [] worker_thread+0x43/0x4e0
    [ 1.518584] [] ? process_one_work+0x6b0/0x6b0
    [ 1.518584] [] ? process_one_work+0x6b0/0x6b0
    [ 1.518584] [] kthread+0xdf/0x100
    [ 1.518584] [] ret_from_fork+0x1f/0x40
    [ 1.518584] [] ? kthread_create_on_node+0x210/0x210

    Signed-off-by: Arek Lichwa
    Signed-off-by: Marcel Holtmann

    Arek Lichwa
     

20 Sep, 2016

33 commits