diff -r 0028e39ead78 kernel/drivers/input/touchscreen/ucb1400_ts.c --- a/kernel/drivers/input/touchscreen/ucb1400_ts.c Tue Sep 18 00:52:38 2007 +0200 +++ b/kernel/drivers/input/touchscreen/ucb1400_ts.c Tue Sep 18 14:51:04 2007 +0200 @@ -130,8 +130,7 @@ static unsigned int ucb1400_adc_read(str if (val & UCB_ADC_DAT_VALID) break; /* yield to other processes */ - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout_uninterruptible(1); } return UCB_ADC_DAT_VALUE(val);