Return-Path: Date: Tue, 18 Sep 2012 20:16:50 -0300 From: Gustavo Padovan To: Vinicius Costa Gomes Cc: linux-bluetooth@vger.kernel.org Subject: Re: [RFC] Bluetooth: Fix not removing power_off delayed work Message-ID: <20120918231650.GA24689@joana> References: <1347651286-4699-1-git-send-email-vinicius.gomes@openbossa.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <1347651286-4699-1-git-send-email-vinicius.gomes@openbossa.org> Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Vinicius, * Vinicius Costa Gomes [2012-09-14 16:34:46 -0300]: > For example, when a usb reset is received (I could reproduce it > running something very similar to this[1] in a loop) it could be > that the device is unregistered while the power_off delayed work > is still scheduled to run. > > Backtrace: > > WARNING: at lib/debugobjects.c:261 debug_print_object+0x7c/0x8d() > Hardware name: To Be Filled By O.E.M. > ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x26 > Modules linked in: nouveau mxm_wmi btusb wmi bluetooth ttm coretemp drm_kms_helper > Pid: 2114, comm: usb-reset Not tainted 3.5.0bt-next #2 > Call Trace: > [] ? free_obj_work+0x57/0x91 > [] warn_slowpath_common+0x7e/0x97 > [] warn_slowpath_fmt+0x41/0x43 > [] debug_print_object+0x7c/0x8d > [] ? __queue_work+0x259/0x259 > [] ? debug_check_no_obj_freed+0x6f/0x1b5 > [] debug_check_no_obj_freed+0x98/0x1b5 > [] ? bt_host_release+0x10/0x1e [bluetooth] > [] kfree+0x90/0xe6 > [] bt_host_release+0x10/0x1e [bluetooth] > [] device_release+0x4a/0x7e > [] kobject_release+0x11d/0x154 > [] kobject_put+0x4a/0x4f > [] put_device+0x12/0x14 > [] hci_free_dev+0x22/0x26 [bluetooth] > [] btusb_disconnect+0x96/0x9f [btusb] > [] usb_unbind_interface+0x57/0x106 > [] __device_release_driver+0x83/0xd6 > [] device_release_driver+0x20/0x2d > [] usb_driver_release_interface+0x44/0x7b > [] usb_forced_unbind_intf+0x45/0x4e > [] usb_reset_device+0xa6/0x12e > [] usbdev_do_ioctl+0x319/0xe20 > [] ? avc_has_perm_flags+0xc9/0x12e > [] ? avc_has_perm_flags+0x25/0x12e > [] ? do_page_fault+0x31e/0x3a1 > [] usbdev_ioctl+0x9/0xd > [] vfs_ioctl+0x21/0x34 > [] do_vfs_ioctl+0x408/0x44b > [] ? file_has_perm+0x76/0x81 > [] sys_ioctl+0x51/0x76 > [] system_call_fastpath+0x16/0x1b > > [1] http://cpansearch.perl.org/src/DPAVLIN/Biblio-RFID-0.03/examples/usbreset.c > > Signed-off-by: Vinicius Costa Gomes > --- > net/bluetooth/hci_core.c | 2 ++ > 1 file changed, 2 insertions(+) patch has been applied to the bluetooth.git tree. Thanks. Gustavo