linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.6.29-rc5+: usb bluetooth crashes system
@ 2009-03-10 11:23 Pavel Machek
  2009-03-14  3:48 ` Greg KH
  2009-03-14 18:56 ` Rafael J. Wysocki
  0 siblings, 2 replies; 9+ messages in thread
From: Pavel Machek @ 2009-03-10 11:23 UTC (permalink / raw)
  To: kernel list

Hi!

Since switch to 2.6.29-rc, bluetooth crashes system... usually on
disconnect or killall pppd.
								Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-10 11:23 2.6.29-rc5+: usb bluetooth crashes system Pavel Machek
@ 2009-03-14  3:48 ` Greg KH
  2009-03-16 11:44   ` Pavel Machek
  2009-03-14 18:56 ` Rafael J. Wysocki
  1 sibling, 1 reply; 9+ messages in thread
From: Greg KH @ 2009-03-14  3:48 UTC (permalink / raw)
  To: Pavel Machek; +Cc: kernel list

On Tue, Mar 10, 2009 at 12:23:07PM +0100, Pavel Machek wrote:
> Hi!
> 
> Since switch to 2.6.29-rc, bluetooth crashes system... usually on
> disconnect or killall pppd.

Do we have a trace?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-10 11:23 2.6.29-rc5+: usb bluetooth crashes system Pavel Machek
  2009-03-14  3:48 ` Greg KH
@ 2009-03-14 18:56 ` Rafael J. Wysocki
  1 sibling, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2009-03-14 18:56 UTC (permalink / raw)
  To: Pavel Machek; +Cc: kernel list

On Tuesday 10 March 2009, Pavel Machek wrote:
> Hi!
> 
> Since switch to 2.6.29-rc, bluetooth crashes system... usually on
> disconnect or killall pppd.

OK, I _guess_ you have switched from 2.6.28.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-14  3:48 ` Greg KH
@ 2009-03-16 11:44   ` Pavel Machek
  2009-03-17  9:39     ` Marcel Holtmann
  0 siblings, 1 reply; 9+ messages in thread
From: Pavel Machek @ 2009-03-16 11:44 UTC (permalink / raw)
  To: Greg KH; +Cc: kernel list

On Fri 2009-03-13 20:48:52, Greg KH wrote:
> On Tue, Mar 10, 2009 at 12:23:07PM +0100, Pavel Machek wrote:
> > Hi!
> > 
> > Since switch to 2.6.29-rc, bluetooth crashes system... usually on
> > disconnect or killall pppd.
> 
> Do we have a trace?

We have "bad magic" message, see bugzilla. I guess it is use of
spinlock after free?
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-16 11:44   ` Pavel Machek
@ 2009-03-17  9:39     ` Marcel Holtmann
  2009-03-19 22:50       ` Pavel Machek
  0 siblings, 1 reply; 9+ messages in thread
From: Marcel Holtmann @ 2009-03-17  9:39 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Greg KH, kernel list

Hi Pavel,

>>> Since switch to 2.6.29-rc, bluetooth crashes system... usually on
>>> disconnect or killall pppd.
>>
>> Do we have a trace?
>
> We have "bad magic" message, see bugzilla. I guess it is use of
> spinlock after free?

can you double check with the net-next-2.6 or bluetooth-next-2.6 tree  
and see if that issue is still present.

Regards

Marcel


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-17  9:39     ` Marcel Holtmann
@ 2009-03-19 22:50       ` Pavel Machek
  2009-03-26  9:58         ` Pavel Machek
  0 siblings, 1 reply; 9+ messages in thread
From: Pavel Machek @ 2009-03-19 22:50 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: Greg KH, kernel list

On Tue 2009-03-17 10:39:54, Marcel Holtmann wrote:
> Hi Pavel,
>
>>>> Since switch to 2.6.29-rc, bluetooth crashes system... usually on
>>>> disconnect or killall pppd.
>>>
>>> Do we have a trace?
>>
>> We have "bad magic" message, see bugzilla. I guess it is use of
>> spinlock after free?
>
> can you double check with the net-next-2.6 or bluetooth-next-2.6 tree  
> and see if that issue is still present.

Well, I took btusb.c from 2.6.28 and that fixed the issue; so we know
the regression is in btusb.c file between 28 and 29-rc7. If you have
specific version of btusb.c you want me to test, please mail it to me.

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-26 12:11           ` Oliver Neukum
@ 2009-03-25 16:22             ` Marcel Holtmann
  0 siblings, 0 replies; 9+ messages in thread
From: Marcel Holtmann @ 2009-03-25 16:22 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: Pavel Machek, Rafael J. Wysocki, Greg KH, kernel list

Hi Oliver,

> > > Well, I took btusb.c from 2.6.28 and that fixed the issue; so we know
> > > the regression is in btusb.c file between 28 and 29-rc7. If you have
> > > specific version of btusb.c you want me to test, please mail it to me.
> >
> > This smaller patch (partial revert of btusb.c to 2.6.28 state) seems
> > to help, too....
> 
> Could you test whether reversing the changes to btusb_probe() alone
> helps?

just test net-next-2.6 or latest Linus' tree once he pulled the
networking changes from Dave.

We had to partly revert that change for some hardware. Believe it or
not, but some Bluetooth chips don't work if we don't submit the bulk
URBs along with the interrupt URBs.

Regards

Marcel



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-19 22:50       ` Pavel Machek
@ 2009-03-26  9:58         ` Pavel Machek
  2009-03-26 12:11           ` Oliver Neukum
  0 siblings, 1 reply; 9+ messages in thread
From: Pavel Machek @ 2009-03-26  9:58 UTC (permalink / raw)
  To: Marcel Holtmann, Rafael J. Wysocki; +Cc: Greg KH, kernel list

Hi!

> >>>> Since switch to 2.6.29-rc, bluetooth crashes system... usually on
> >>>> disconnect or killall pppd.
> >>>
> >>> Do we have a trace?
> >>
> >> We have "bad magic" message, see bugzilla. I guess it is use of
> >> spinlock after free?
> >
> > can you double check with the net-next-2.6 or bluetooth-next-2.6 tree  
> > and see if that issue is still present.
> 
> Well, I took btusb.c from 2.6.28 and that fixed the issue; so we know
> the regression is in btusb.c file between 28 and 29-rc7. If you have
> specific version of btusb.c you want me to test, please mail it to me.

This smaller patch (partial revert of btusb.c to 2.6.28 state) seems
to help, too....

									Pavel
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index b5fbda6..75f9fc0 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -655,19 +680,8 @@ static void btusb_notify(struct hci_dev *hdev, unsigned int evt)
 
 	BT_DBG("%s evt %d", hdev->name, evt);
 
-	if (hdev->conn_hash.acl_num > 0) {
-		if (!test_and_set_bit(BTUSB_BULK_RUNNING, &data->flags)) {
-			if (btusb_submit_bulk_urb(hdev, GFP_ATOMIC) < 0)
-				clear_bit(BTUSB_BULK_RUNNING, &data->flags);
-			else
-				btusb_submit_bulk_urb(hdev, GFP_ATOMIC);
-		}
-	} else {
-		clear_bit(BTUSB_BULK_RUNNING, &data->flags);
-		usb_unlink_anchored_urbs(&data->bulk_anchor);
-	}
-
-	schedule_work(&data->work);
+	if (evt == HCI_NOTIFY_CONN_ADD || evt == HCI_NOTIFY_CONN_DEL)
+		schedule_work(&data->work);
 }
 
 static int inline __set_isoc_interface(struct hci_dev *hdev, int altsetting)
@@ -718,6 +732,18 @@ static void btusb_work(struct work_struct *work)
 	struct btusb_data *data = container_of(work, struct btusb_data, work);
 	struct hci_dev *hdev = data->hdev;
 
+	if (hdev->conn_hash.acl_num > 0) {
+		if (!test_and_set_bit(BTUSB_BULK_RUNNING, &data->flags)) {
+			if (btusb_submit_bulk_urb(hdev) < 0)
+				clear_bit(BTUSB_BULK_RUNNING, &data->flags);
+			else
+				btusb_submit_bulk_urb(hdev);
+		}
+	} else {
+		clear_bit(BTUSB_BULK_RUNNING, &data->flags);
+		usb_kill_anchored_urbs(&data->bulk_anchor);
+	}
+
 	if (hdev->conn_hash.sco_num > 0) {
 		if (data->isoc_altsetting != 2) {
 			clear_bit(BTUSB_ISOC_RUNNING, &data->flags);
@@ -852,23 +876,9 @@ static int btusb_probe(struct usb_interface *intf,
 	if (id->driver_info & BTUSB_BROKEN_ISOC)
 		data->isoc = NULL;
 
-	if (id->driver_info & BTUSB_DIGIANSWER) {
-		data->cmdreq_type = USB_TYPE_VENDOR;
-		set_bit(HCI_QUIRK_NO_RESET, &hdev->quirks);
-	}
-
-	if (id->driver_info & BTUSB_CSR) {
-		struct usb_device *udev = data->udev;
-
-		/* Old firmware would otherwise execute USB reset */
-		if (le16_to_cpu(udev->descriptor.bcdDevice) < 0x117)
-			set_bit(HCI_QUIRK_NO_RESET, &hdev->quirks);
-	}
-
 	if (id->driver_info & BTUSB_SNIFFER) {
 		struct usb_device *udev = data->udev;
 
-		/* New sniffer firmware has crippled HCI interface */
 		if (le16_to_cpu(udev->descriptor.bcdDevice) > 0x997)
 			set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);
 


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: 2.6.29-rc5+: usb bluetooth crashes system
  2009-03-26  9:58         ` Pavel Machek
@ 2009-03-26 12:11           ` Oliver Neukum
  2009-03-25 16:22             ` Marcel Holtmann
  0 siblings, 1 reply; 9+ messages in thread
From: Oliver Neukum @ 2009-03-26 12:11 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Marcel Holtmann, Rafael J. Wysocki, Greg KH, kernel list

Am Donnerstag 26 März 2009 10:58:56 schrieb Pavel Machek:

> > Well, I took btusb.c from 2.6.28 and that fixed the issue; so we know
> > the regression is in btusb.c file between 28 and 29-rc7. If you have
> > specific version of btusb.c you want me to test, please mail it to me.
>
> This smaller patch (partial revert of btusb.c to 2.6.28 state) seems
> to help, too....

Could you test whether reversing the changes to btusb_probe() alone
helps?

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-03-26 17:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-10 11:23 2.6.29-rc5+: usb bluetooth crashes system Pavel Machek
2009-03-14  3:48 ` Greg KH
2009-03-16 11:44   ` Pavel Machek
2009-03-17  9:39     ` Marcel Holtmann
2009-03-19 22:50       ` Pavel Machek
2009-03-26  9:58         ` Pavel Machek
2009-03-26 12:11           ` Oliver Neukum
2009-03-25 16:22             ` Marcel Holtmann
2009-03-14 18:56 ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).