[lkml]   [2011]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectCall Trace:Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
    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-gc62b389 #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 6bd32326cda(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: Thomas Gleixner <>
    net/bluetooth/hci_core.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    Index: linux-2.6/net/bluetooth/hci_core.c
    --- linux-2.6.orig/net/bluetooth/hci_core.c
    +++ linux-2.6/net/bluetooth/hci_core.c
    @@ -584,6 +584,9 @@ static int hci_dev_do_close(struct hci_d
    hci_req_cancel(hdev, ENODEV);

    + /* Stop timer, it might be running */
    + del_timer_sync(&hdev->cmd_timer);
    if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
    return 0;
    @@ -623,7 +626,6 @@ static int hci_dev_do_close(struct hci_d

    /* Drop last sent command */
    if (hdev->sent_cmd) {
    - del_timer_sync(&hdev->cmd_timer);
    hdev->sent_cmd = NULL;

     \ /
      Last update: 2011-03-24 20:19    [W:0.034 / U:4.688 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site