From: Amol Lad For this driver cond_resched() seems to be a better alternative Signed-off-by: Amol Lad Signed-off-by: Andrew Morton --- drivers/scsi/megaraid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/scsi/megaraid.c~drivers-scsi-megaraidc-replacing-yield-with-a drivers/scsi/megaraid.c --- a/drivers/scsi/megaraid.c~drivers-scsi-megaraidc-replacing-yield-with-a +++ a/drivers/scsi/megaraid.c @@ -1754,7 +1754,8 @@ __mega_busywait_mbox (adapter_t *adapter for (counter = 0; counter < 10000; counter++) { if (!mbox->m_in.busy) return 0; - udelay(100); yield(); + udelay(100); + cond_resched(); } return -1; /* give up after 1 second */ } _