Tony,

The following patch fixes a bug in the SGI Altix sn_dma_flush code.  
sn_dma_flush is broken in 2.6.  The code isn't waiting for the DMA 
data to be flushed out of the PIC ASIC. This patch is based off the 
linux-ia64-test-2.6.12 tree

Signed-off-by: Mike Habeck <[EMAIL PROTECTED]>
Index: test-2.6.12/arch/ia64/sn/pci/pcibr/pcibr_dma.c
===================================================================
--- test-2.6.12.orig/arch/ia64/sn/pci/pcibr/pcibr_dma.c 2005-03-24 
14:34:42.591117130 -0600
+++ test-2.6.12/arch/ia64/sn/pci/pcibr/pcibr_dma.c      2005-03-24 
15:56:33.535718144 -0600
@@ -301,7 +301,7 @@
                spin_lock_irqsave(&((struct sn_flush_device_list *)p)->
                                  sfdl_flush_lock, flags);
 
-               p->sfdl_flush_value = 0;
+               *p->sfdl_flush_addr = 0;
 
                /* force an interrupt. */
                *(volatile uint32_t *)(p->sfdl_force_int_addr) = 1;

Reply via email to