viafb: returns 0 two too early.
PATCH 1/1 viafb: returns 0 two too early.
Otherwise this will already return 0 if iteration MAXLOOP-2 occurs in the first loop.
Signed-off-by Roel Kluin <[email protected]>
---
drivers/video/via/accel.c +6 -2
@@ -267,13 +267,17 @@ int viafb_wait_engine_idle(void)int loop =0 ;while (!(readl (viaparinfo->io_virt +VIA_REG_STATUS ) & -VIA_VR_QUEUE_BUSY ) && (loop++ <MAXLOOP )) +VIA_VR_QUEUE_BUSY ) && (loop <MAXLOOP )) { + loop++;cpu_relax (); + }while ((readl (viaparinfo->io_virt +VIA_REG_STATUS ) & (VIA_CMD_RGTR_BUSY |VIA_2D_ENG_BUSY |VIA_3D_ENG_BUSY )) && - (loop++ <MAXLOOP )) + (loop <MAXLOOP )) { + loop++;cpu_relax (); + }return loop >=MAXLOOP ; }
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H