All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>,
	Linux-pm mailing list <linux-pm@lists.linux-foundation.org>
Subject: Re: Possible problem with device_move()
Date: Mon, 30 Jul 2007 08:53:30 +0200	[thread overview]
Message-ID: <1185778420.5868.90.camel@violet> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0707281123080.16987-100000@netrider.rowland.org>

Hi Alan,

> I'm in the midst of changing the Power Management core to make it
> acquire the device semaphore of every device during a suspend and
> resume.  The order of acquisition is the order of device registration, 
> which normally agrees with the way locks are acquired when going 
> through the device tree (i.e., parents before children).
> 
> But when you call device_move() that might no longer be true.  If a 
> device is moved so that its new parent was registered _after_ it was, 
> then the two orders will disagree.  This raises the possibility of a 
> deadlock if any thread ever tries to lock the device while holding the 
> new parent's lock -- as might happen during an unregistration, for 
> example.

the Bluetooth subsystem or the RFCOMM TTY code to be more precise uses
device_move() to attach an registered /dev/rfcommX device node (but not
connected) to the appropriate Bluetooth adapter and the low-level
piconet connection when you open (and thus connect) it.

So mainly we re-parent the TTY to the Bluetooth connection and after the
connection terminates we re-parent it to the virtual tree (NULL).

Regards

Marcel

  parent reply	other threads:[~2007-07-30  6:53 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-28 15:36 Possible problem with device_move() Alan Stern
2007-07-30  6:42 ` Cornelia Huck
2007-07-30 17:34   ` Alan Stern
2007-07-31  8:33     ` Cornelia Huck
2007-07-31 15:11       ` Alan Stern
2007-07-31 15:27         ` Rafael J. Wysocki
2007-07-31 15:30         ` Cornelia Huck
2007-07-31 18:17           ` Alan Stern
2007-07-31 19:12             ` Rafael J. Wysocki
2007-07-31 20:37               ` Alan Stern
2007-08-01 13:03                 ` Cornelia Huck
2007-08-01 15:22                   ` Alan Stern
2007-08-01 17:04                     ` Cornelia Huck
2007-08-01 17:35                       ` Alan Stern
2007-08-01 19:25                         ` Rafael J. Wysocki
2007-08-01 20:27                           ` Alan Stern
2007-08-02  8:06                             ` Cornelia Huck
2007-08-02 14:19                               ` Alan Stern
2007-08-02 14:50                                 ` Cornelia Huck
2007-08-02 11:21                             ` Rafael J. Wysocki
2007-08-02 14:24                               ` Alan Stern
2007-08-02 14:58                                 ` Rafael J. Wysocki
2007-08-02 15:23                                   ` Alan Stern
2007-08-02 22:39                                     ` Rafael J. Wysocki
2007-08-03 14:56                                       ` Alan Stern
2007-08-03 21:39                                         ` Rafael J. Wysocki
2007-08-06  9:31                                           ` Cornelia Huck
2007-08-06 13:53                                             ` Alan Stern
2007-07-30  6:53 ` Marcel Holtmann [this message]
2007-07-30 17:37   ` Alan Stern

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=1185778420.5868.90.camel@violet \
    --to=marcel@holtmann.org \
    --cc=cornelia.huck@de.ibm.com \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=stern@rowland.harvard.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.