소스 검색

[IA64-SGI] Altix only: Fix for sn_dma_flush

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 <habeck@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mike Habeck 20 년 전
부모
커밋
de7548d0e2
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      arch/ia64/sn/pci/pcibr/pcibr_dma.c

+ 1 - 1
arch/ia64/sn/pci/pcibr/pcibr_dma.c

@@ -301,7 +301,7 @@ void sn_dma_flush(uint64_t addr)
 		spin_lock_irqsave(&((struct sn_flush_device_list *)p)->
 		spin_lock_irqsave(&((struct sn_flush_device_list *)p)->
 				  sfdl_flush_lock, flags);
 				  sfdl_flush_lock, flags);
 
 
-		p->sfdl_flush_value = 0;
+		*p->sfdl_flush_addr = 0;
 
 
 		/* force an interrupt. */
 		/* force an interrupt. */
 		*(volatile uint32_t *)(p->sfdl_force_int_addr) = 1;
 		*(volatile uint32_t *)(p->sfdl_force_int_addr) = 1;