rfcomm, sched/wait: Fix broken wait construct
rfcomm, sched/wait: Fix broken wait construct

rfcomm_run() is a tad broken in that is has a nested wait loop. One
cannot rely on p->state for the outer wait because the inner wait will
overwrite it.

Fix this using the new wait_woken() facility.

Signed-off-by: Peter Zijlstra (Intel) <3fddac958924aef220f202ca567388ddab3f14a8@infradead.org>
Cc: Peter Hurley <4b8373d016f277527198385ba72fda0feb5da015@hurleysoftware.com>
Cc: Alexander Holler <e50e5dcba9de73060be56c8db9158b6ae1eed0d9@ahsoftware.de>
Cc: David S. Miller <fe08d3c717adf2ae63592e4c9aec6e3e404d8e3e@davemloft.net>
Cc: Gustavo Padovan <beac5f8171fcde5e2ec734cc5d25d03e7362e8de@padovan.org>
Cc: Joe Perches <16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com>
Cc: Johan Hedberg <628991c7b0a19c384f9b99c21ec330ce952bb838@gmail.com>
Cc: Libor Pechacek <80e033a9d02327729def584e6741f2d047da7e2f@suse.cz>
Cc: Linus Torvalds <69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org>
Cc: Marcel Holtmann <44592b4eea36663c86b994bb0ea99d15309c1c7d@holtmann.org>
Cc: Seung-Woo Kim <f0452ad01023e1e19deb03356bab8e3b5dbc61a6@samsung.com>
Cc: Vignesh Raman <319b899981dc1ad9a7f337b857b9ecef49f48fb0@mentor.com>
Cc: 47e827d74dd618c9f78174500a8653b102557226@vger.kernel.org
Cc: 1099b3bee480025a15c1b622ecdea77a1d6d7166@vger.kernel.org
Signed-off-by: Ingo Molnar <9dbbbf0688fedc85ad4da37637f1a64b8c718ee2@kernel.org>

KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs