[PATCH] drivers/char/synclink.c: fix polling loop From: Marcin Slusarz Signed-off-by: Marcin Slusarz Signed-off-by: Alexey Dobriyan Index: linux-kj/drivers/char/synclink.c =================================================================== --- linux-kj.orig/drivers/char/synclink.c 2006-01-18 16:45:22.000000000 +0300 +++ linux-kj/drivers/char/synclink.c 2006-01-18 16:45:41.000000000 +0300 @@ -7105,8 +7105,8 @@ static BOOLEAN mgsl_register_test( struc */ static BOOLEAN mgsl_irq_test( struct mgsl_struct *info ) { - unsigned long EndTime; unsigned long flags; + unsigned long end_time; spin_lock_irqsave(&info->irq_spinlock,flags); usc_reset(info); @@ -7133,8 +7133,8 @@ static BOOLEAN mgsl_irq_test( struct mgs spin_unlock_irqrestore(&info->irq_spinlock,flags); - EndTime=100; - while( EndTime-- && !info->irq_occurred ) { + end_time = jiffies + msecs_to_jiffies(1000); + while (time_before(jiffies, end_time) && !info->irq_occurred) { msleep_interruptible(10); }