I think there is a bug here...
At 13:46 17/01/02, Jens Axboe wrote:
>diff -urN -X exclude /ata/linux-2.5.3-pre1/drivers/ide/ide-taskfile.c
>linux/drivers/ide/ide-taskfile.c
>--- /ata/linux-2.5.3-pre1/drivers/ide/ide-taskfile.c Thu Jan 17
>06:32:54 2002
>+++ linux/drivers/ide/ide-taskfile.c Thu Jan 17 06:29:13 2002
>@@ -994,10 +1032,11 @@
> if (!msect) {
> nsect = 1;
> while (rq->current_nr_sectors) {
>- pBuf = rq->buffer + ((rq->nr_sectors -
>rq->current_nr_sectors) * SECTOR_SIZE);
>+ pBuf = ide_unmap_buffer(rq, &flags);
That should be: pBuf = ide_map_buffer(rq, &flags);
But I think it actually ought to be:
pBuf = ide_map_rq(rq, &flags)
and the below unmap should consequently be:
ide_unmap_rq(rq, pBuf, &flags)
In either case it's wrong at the moment AFAICS...
> DTF("Multiwrite: %p, nsect: %d,
> rq->current_nr_sectors: %ld\n", pBuf, nsect, rq->current_nr_sectors);
> drive->io_32bit = 0;
> taskfile_output_data(drive, pBuf, nsect *
> SECTOR_WORDS);
>+ ide_unmap_buffer(pBuf, &flags);
> drive->io_32bit = io_32bit;
> rq->errors = 0;
> rq->current_nr_sectors -= nsect;
Best regards,
Anton
-- "I've not lost my mind. It's backed up on tape somewhere." - Unknown-- Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @) Linux NTFS Maintainer / WWW: http://linux-ntfs.sf.net/ ICQ: 8561279 / WWW: http://www-stu.christs.cam.ac.uk/~aia21/- 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/