From: "Antonino A. Daplas" Reorder add_wait_queue() and set_current_state() as a signal could be lost in between the two functions. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 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 */ _