Messages in this thread | | | Date | Fri, 11 Feb 2005 20:55:18 -0500 | From | Chuck Ebbert <> | Subject | Re: [PATCH 2.6.11-rc2 02/04] ide: __ide_do_rw_disk() rewritten ide_write_taskfil |
| |
On Sun, 6 Feb 2005 at 20:26:55 +0900, Tejun Heo wrote:
> + if (drive->using_dma && > + !(hwif->no_lba48_dma && block + rq->nr_sectors > 1ULL << 28)) { > + /* DMA */ > + if (hwif->dma_setup(drive)) > + goto fallback_to_pio; > + if (rq_data_dir(rq) == READ) { > + command = lba48 ? WIN_READDMA_EXT : WIN_READDMA; > + if (drive->vdma) > + command = lba48 ? WIN_READ_EXT : WIN_READ; > + } else { > + command = lba48 ? WIN_WRITEDMA_EXT : WIN_WRITEDMA; > + if (drive->vdma) > + command = lba48 ? WIN_WRITE_EXT : WIN_WRITE; > } > - /* fallback to PIO */ > - ide_init_sg_cmd(drive, rq); > + hwif->dma_exec_cmd(drive, command); > + hwif->dma_start(drive); > + return ide_started; > }
Should that be "block + rq->nr_sectors >= 1ULL << 28"?
Legal sector numbers for LBA28 range from 0 thru (1 << 28 - 1).
LBA28 _capacities_ range from 1 thru (1 << 28) sectors.
And why is it using 1ULL some places and 1UL in others in the ide driver?
-- Chuck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |