lkml.org 
[lkml]   [2004]   [May]   [10]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH] hci-usb bugfix
FromMarcel Holtmann <>
DateMon, 10 May 2004 12:40:36 +0200
Hi Soeren,

> indeed it fixes this oops ... however I still get 

please try the attached patch. It should fix it, too.

> usb 2-1: USB disconnect, address 4
> usb 2-1: new full speed USB device using address 5
> devfs_mk_dev: could not append to parent for bluetooth/rfcomm/0
> devfs_remove: bluetooth/rfcomm/0 not found, cannot remove
> Call trace:
>  [c00099c4] dump_stack+0x18/0x28
>  [c010af1c] devfs_remove+0xcc/0xd0
>  [c01e4a5c] tty_unregister_device+0x30/0x5c
>  [f2080b64] rfcomm_dev_destruct+0x50/0xd4 [rfcomm]
>  [f2081310] rfcomm_release_dev+0xf8/0x148 [rfcomm]
>  [f20807a8] rfcomm_sock_ioctl+0x34/0x58 [rfcomm]
>  [c02a8668] sock_ioctl+0xc0/0x2c0
>  [c00726e0] sys_ioctl+0x100/0x318
>  [c0005d60] ret_from_syscall+0x0/0x44
> usb 2-1: USB disconnect, address 5

Do you use DevFS? Does the same problem exists if you disable it and use
udev instead?

Regards

Marcel

===== drivers/bluetooth/hci_usb.c 1.49 vs edited =====
--- 1.49/drivers/bluetooth/hci_usb.c	Sat Apr 17 00:23:48 2004
+++ edited/drivers/bluetooth/hci_usb.c	Mon May 10 12:03:05 2004
@@ -976,11 +971,13 @@
 static void hci_usb_disconnect(struct usb_interface *intf)
 {
 	struct hci_usb *husb = usb_get_intfdata(intf);
-	struct hci_dev *hdev = husb->hdev;
+	struct hci_dev *hdev;
 
-	if (!husb)
+	if (!husb || intf == husb->isoc_iface)
 		return;
+
 	usb_set_intfdata(intf, NULL);
+	hdev = husb->hdev;
 
 	BT_DBG("%s", hdev->name);
 
\
 
 \ /
  Last update: 2005-03-22 13:03    [from the cache]
©2003-2008