diff -Nur linux.org/drivers/ide/ataraid.c linux/drivers/ide/ataraid.c --- linux.org/drivers/ide/ataraid.c Thu Oct 25 22:58:35 2001 +++ linux/drivers/ide/ataraid.c Thu Jul 18 14:24:33 2002 @@ -123,7 +123,8 @@ ptr=kmalloc(sizeof(struct buffer_head),GFP_NOIO); if (!ptr) { __set_current_state(TASK_RUNNING); + current->policy |= SCHED_YIELD; + schedule(); - yield(); } } return ptr; @@ -139,7 +138,8 @@ ptr=kmalloc(sizeof(struct ataraid_bh_private),GFP_NOIO); if (!ptr) { __set_current_state(TASK_RUNNING); + current->policy |= SCHED_YIELD; + schedule(); - yield(); } } return ptr;