ide: pass command to ide_map_sg()
* Set IDE_TFLAG_WRITE flag and ->rq also for ATA_CMD_PACKET
commands.
* Pass command to ->dma_setup method and update all its
implementations accordingly.
* Pass command instead of request to ide_build_sglist(),
*_build_dmatable() and ide_map_sg().
While at it:
* Fix scc_dma_setup() documentation + use ATA_DMA_WR define.
* Rename sgiioc4_build_dma_table() to sgiioc4_build_dmatable(),
change return value type to 'int' and drop unused 'ddir'
argument.
* Do some minor cleanups in [tx4939]ide_dma_setup().
There should be no functional changes caused by this patch.
Acked-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 8c518c6..ee3e77a 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -285,9 +285,13 @@
goto out_end;
}
+ if (rq_data_dir(rq))
+ cmd->tf_flags |= IDE_TFLAG_WRITE;
+ cmd->rq = rq;
+
if (blk_fs_request(rq) || pc->req_xfer) {
ide_init_sg_cmd(cmd, rq->nr_sectors);
- ide_map_sg(drive, rq);
+ ide_map_sg(drive, cmd);
}
pc->sg = hwif->sg_table;