patch-2.1.30 linux/drivers/block/ide-cd.c

Next file: linux/drivers/block/ide-floppy.c
Previous file: linux/drivers/block/floppy.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.29/linux/drivers/block/ide-cd.c linux/drivers/block/ide-cd.c
@@ -395,14 +395,6 @@
 {
 	struct request *rq = HWGROUP(drive)->rq;
 
-	/* The code in blk.h can screw us up on error recovery if the block
-	   size is larger than 1k.  Fix that up here. */
-	if (!uptodate && rq->bh != 0) {
-		int adj = rq->current_nr_sectors - 1;
-		rq->current_nr_sectors -= adj;
-		rq->sector += adj;
-	}
-
 	if (rq->cmd == REQUEST_SENSE_COMMAND && uptodate) {
 		struct packet_command *pc = (struct packet_command *)
 			                      rq->buffer;
@@ -737,10 +729,8 @@
 	/* Check for errors. */
 	if (dma) {
 		info->dma = 0;
-		if ((dma_error = HWIF(drive)->dmaproc(ide_dma_status_bad, drive))) {
-			printk ("%s: disabled DMA\n", drive->name);
-			drive->using_dma = 0;
-		}
+		if ((dma_error = HWIF(drive)->dmaproc(ide_dma_status_bad, drive)))
+			HWIF(drive)->dmaproc(ide_dma_off, drive);
 		(void) (HWIF(drive)->dmaproc(ide_dma_abort, drive));
 	}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov