• T
    Bluetooth: Fix warning with hci_cmd_timer · b77dcf84
    Thomas Gleixner 提交于
    After we made debugobjects working again, we got the following:
    
    WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0()
    Hardware name: System Product Name
    ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60
    Pid: 2125, comm: dmsetup Tainted: G        W   2.6.38-06707-gc62b3898 #110375
    Call Trace:
     [<ffffffff8104700a>] warn_slowpath_common+0x7a/0xb0
     [<ffffffff810470b6>] warn_slowpath_fmt+0x46/0x50
     [<ffffffff812d3a5e>] debug_print_object+0x8e/0xb0
     [<ffffffff81bd8810>] ? hci_cmd_timer+0x0/0x60
     [<ffffffff812d4685>] debug_check_no_obj_freed+0x125/0x230
     [<ffffffff810f1063>] ? check_object+0xb3/0x2b0
     [<ffffffff810f3630>] kfree+0x150/0x190
     [<ffffffff81be4d06>] ? bt_host_release+0x16/0x20
     [<ffffffff81be4d06>] bt_host_release+0x16/0x20
     [<ffffffff813a1907>] device_release+0x27/0xa0
     [<ffffffff812c519c>] kobject_release+0x4c/0xa0
     [<ffffffff812c5150>] ? kobject_release+0x0/0xa0
     [<ffffffff812c61f6>] kref_put+0x36/0x70
     [<ffffffff812c4d37>] kobject_put+0x27/0x60
     [<ffffffff813a21f7>] put_device+0x17/0x20
     [<ffffffff81bda4f9>] hci_free_dev+0x29/0x30
     [<ffffffff81928be6>] vhci_release+0x36/0x70
     [<ffffffff810fb366>] fput+0xd6/0x1f0
     [<ffffffff810f8fe6>] filp_close+0x66/0x90
     [<ffffffff810f90a9>] sys_close+0x99/0xf0
     [<ffffffff81d4c96b>] system_call_fastpath+0x16/0x1b
    
    That timer was introduced with commit 6bd32326(Bluetooth: Use
    proper timer for hci command timout)
    
    Timer seems to be running when the thing is closed. Removing the timer
    unconditionally fixes the problem. And yes, it needs to be fixed
    before the HCI_UP check.
    Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
    Tested-by: NIngo Molnar <mingo@elte.hu>
    Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
    b77dcf84
hci_core.c 42.8 KB