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

Reorder add_wait_queue() and set_current_state() as a signal could be lost in
between the two functions.

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/sa1100fb.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/video/sa1100fb.c~sa1100fb-reorder-add_wait_queue-and-set_current_state drivers/video/sa1100fb.c
--- 25/drivers/video/sa1100fb.c~sa1100fb-reorder-add_wait_queue-and-set_current_state	Thu Jan 13 15:40:55 2005
+++ 25-akpm/drivers/video/sa1100fb.c	Thu Jan 13 15:40:55 2005
@@ -1072,8 +1072,8 @@ static void sa1100fb_disable_controller(
 		GPCR |= SHANNON_GPIO_DISP_EN;
 	}	
 
-	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 */
_
