patch-2.4.21 linux-2.4.21/arch/ia64/sn/kernel/sn2/iomv.c

Next file: linux-2.4.21/arch/ia64/sn/kernel/sn2/ptc_deadlock.S
Previous file: linux-2.4.21/arch/ia64/sn/kernel/sn2/Makefile
Back to the patch index
Back to the overall index

diff -urN linux-2.4.20/arch/ia64/sn/kernel/sn2/iomv.c linux-2.4.21/arch/ia64/sn/kernel/sn2/iomv.c
@@ -56,10 +56,13 @@
  * a chipset register to ensure ordering.
  *
  * On SN2, we wait for the PIO_WRITE_STATUS SHub register to clear.
+ * See PV 871084 for details about the WAR about zero value.
+ *
  */
 void
 sn2_mmiob (void)
 {
-	while ( !((volatile unsigned long) (*pda.pio_write_status_addr)) & 0x8000000000000000)
-		udelay(5);
+	while ((((volatile unsigned long) (*pda.pio_write_status_addr)) & SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT_MASK) != 
+				SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT_MASK)
+		udelay(1);
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)