]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-floppy.c
Merge commit 'v2.6.29' into timers/core
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-floppy.c
index 0a48e2dc53a281c2e7757ade400c700c02df609c..317ec62c33d42428f96e310e774d3c14eb75eb3d 100644 (file)
@@ -71,7 +71,7 @@
 static int ide_floppy_end_request(ide_drive_t *drive, int uptodate, int nsecs)
 {
        struct ide_disk_obj *floppy = drive->driver_data;
-       struct request *rq = HWGROUP(drive)->rq;
+       struct request *rq = drive->hwif->rq;
        int error;
 
        ide_debug_log(IDE_DBG_FUNC, "Call %s\n", __func__);
@@ -327,8 +327,10 @@ static ide_startstop_t ide_floppy_do_request(ide_drive_t *drive,
                return ide_stopped;
        }
 
-       ide_init_sg_cmd(drive, rq);
-       ide_map_sg(drive, rq);
+       if (blk_fs_request(rq) || pc->req_xfer) {
+               ide_init_sg_cmd(drive, rq);
+               ide_map_sg(drive, rq);
+       }
 
        pc->sg = hwif->sg_table;
        pc->sg_cnt = hwif->sg_nents;