
From: "Antonino A. Daplas" <adaplas@hotpop.com>

Reorder set_current_state() and add_wait_queue().  There is a chance that a
signal could be missed in between the two functions currently.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/video/pxafb.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/video/pxafb.c~pxafb-reorder-add_wait_queue-and-set_current_state drivers/video/pxafb.c
--- 25/drivers/video/pxafb.c~pxafb-reorder-add_wait_queue-and-set_current_state	Thu Jan 13 15:40:54 2005
+++ 25-akpm/drivers/video/pxafb.c	Thu Jan 13 15:40:54 2005
@@ -740,8 +740,8 @@ static void pxafb_disable_controller(str
 
 	DPRINTK("Disabling LCD controller\n");
 
-	add_wait_queue(&fbi->ctrlr_wait, &wait);
 	set_current_state(TASK_UNINTERRUPTIBLE);
+	add_wait_queue(&fbi->ctrlr_wait, &wait);
 
 	LCSR = 0xffffffff;	/* Clear LCD Status Register */
 	LCCR0 &= ~LCCR0_LDM;	/* Enable LCD Disable Done Interrupt */
_
