public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Hugo Mildenberger <Hugo.Mildenberger@namir.de>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: BT git version triggers BUG: scheduling while atomic: swapper/0/0x10000100
Date: Mon, 04 May 2009 18:56:53 -0700	[thread overview]
Message-ID: <1241488613.3319.3.camel@localhost.localdomain> (raw)
In-Reply-To: <200905050323.42101.Hugo.Mildenberger@namir.de>

[-- Attachment #1: Type: text/plain, Size: 696 bytes --]

Hi Hugo,

> > > When I tried to get a mobile phone connected to asterisk via bluetooth,
> > > the current git version of the linux bluetooth stack triggers a kernel
> > > bug:
> > >
> > > 	BUG: scheduling while atomic: swapper/0/0x10000100
> > >
> > > This is triggered the moment when asterisk tries to pair the phone and
> > > leaves at least the BT subsystem in an unusable state.
> >
> > are you running Linus' tree or bluetooth-testing.git? If your are not
> > running bluetooth-testing.git, then please try that one since it
> > includes a fix for it.
>
> I'm running bluetooth-testing.git and pulled that tree just an hour ago.

does the attached patch fixes your issue?

Regards

Marcel


[-- Attachment #2: patch --]
[-- Type: text/x-patch, Size: 919 bytes --]

diff --git a/net/bluetooth/hci_sysfs.c b/net/bluetooth/hci_sysfs.c
index 582d887..a05d45e 100644
--- a/net/bluetooth/hci_sysfs.c
+++ b/net/bluetooth/hci_sysfs.c
@@ -88,10 +88,13 @@ static struct device_type bt_link = {
 static void add_conn(struct work_struct *work)
 {
 	struct hci_conn *conn = container_of(work, struct hci_conn, work_add);
+	struct hci_dev *hdev = conn->hdev;
 
 	/* ensure previous del is complete */
 	flush_work(&conn->work_del);
 
+	dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle);
+
 	if (device_add(&conn->dev) < 0) {
 		BT_ERR("Failed to register connection device");
 		return;
@@ -154,12 +157,8 @@ void hci_conn_init_sysfs(struct hci_conn *conn)
 
 void hci_conn_add_sysfs(struct hci_conn *conn)
 {
-	struct hci_dev *hdev = conn->hdev;
-
 	BT_DBG("conn %p", conn);
 
-	dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle);
-
 	queue_work(bt_workq, &conn->work_add);
 }
 

  reply	other threads:[~2009-05-05  1:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-05  1:01 BT git version triggers BUG: scheduling while atomic: swapper/0/0x10000100 Hugo Mildenberger
2009-05-05  1:12 ` Marcel Holtmann
2009-05-05  1:23   ` Hugo Mildenberger
2009-05-05  1:56     ` Marcel Holtmann [this message]
2009-05-05  6:29       ` Hugo Mildenberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1241488613.3319.3.camel@localhost.localdomain \
    --to=marcel@holtmann.org \
    --cc=Hugo.Mildenberger@namir.de \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox