patch-2.3.41 linux/drivers/block/trm290.c

Next file: linux/drivers/block/z2ram.c
Previous file: linux/drivers/block/piix.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.40/linux/drivers/block/trm290.c linux/drivers/block/trm290.c
@@ -187,7 +187,7 @@
 			if (!(count = ide_build_dmatable(drive, func)))
 				break;		/* try PIO instead of DMA */
 			trm290_prepare_drive(drive, 1);	/* select DMA xfer */
-			outl(virt_to_bus(hwif->dmatable)|reading|writing, hwif->dma_base);
+			outl(hwif->dmatable_dma|reading|writing, hwif->dma_base);
 			drive->waiting_for_dma = 1;
 			outw((count * 2) - 1, hwif->dma_base+2); /* start DMA */
 			if (drive->media != ide_disk)
@@ -199,6 +199,7 @@
 			return 0;
 		case ide_dma_end:
 			drive->waiting_for_dma = 0;
+			ide_destroy_dmatable(drive);		/* purge DMA mappings */
 			return (inw(hwif->dma_base+2) != 0x00ff);
 		case ide_dma_test_irq:
 			return (inw(hwif->dma_base+2) == 0x00ff);

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