]> git.karo-electronics.de Git - karo-tx-linux.git/commit
pcmcia: move unbind/rebind into dev_pm_ops.complete
authorChristian Lamparter <chunkeey@googlemail.com>
Fri, 28 Sep 2012 00:18:53 +0000 (10:18 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 4 Oct 2012 05:03:05 +0000 (15:03 +1000)
commit15b20488c4e36f203779470db788ff45d78616ee
treeee2e161a5d73daa1cac635c2f6cde6b3eadf5e53
parent9a1f63c39fd6587c4053d7e0c766c546a9244e67
pcmcia: move unbind/rebind into dev_pm_ops.complete

Move the device rebind procedures for cardbus devices from the pm.resume
into the pm.complete callback.

The reason for moving the code is: "[...] The PM code needs to send
suspend and resume messages to every device in the right order, and it
can't do that if new devices are being added at the same time.  [...]"

However the situation really isn't quite that rigid.  In particular,
adding new children during a resume callback shouldn't cause much of
problem because the children don't need to be resumed anyway (since they
were never suspended).  On the other hand, if you do it you will get a
dev_warn() from the PM core, something like 'parent should not be
sleeping'.

Still, it is considered bad form and should be avoided if possible."

(Alan Stern's full comment about the topic can
be found here: <https://lkml.org/lkml/2012/7/10/254>)

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg KH <greg@kroah.com>
Acked-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/pcmcia/cs.c