From: "Antonino A. Daplas" 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 Signed-off-by: Domen Puncer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 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 */ _