aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-disk.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-disk.c')
-rw-r--r--drivers/ide/ide-disk.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index 3d92c9d54d47..b5f25387cc01 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -461,7 +461,6 @@ static void idedisk_prepare_flush(struct request_queue *q, struct request *rq)
461 cmd->protocol = ATA_PROT_NODATA; 461 cmd->protocol = ATA_PROT_NODATA;
462 462
463 rq->cmd_type = REQ_TYPE_ATA_TASKFILE; 463 rq->cmd_type = REQ_TYPE_ATA_TASKFILE;
464 rq->cmd_flags |= REQ_SOFTBARRIER;
465 rq->special = cmd; 464 rq->special = cmd;
466} 465}
467 466
@@ -479,14 +478,14 @@ static int set_multcount(ide_drive_t *drive, int arg)
479 if (arg < 0 || arg > (drive->id[ATA_ID_MAX_MULTSECT] & 0xff)) 478 if (arg < 0 || arg > (drive->id[ATA_ID_MAX_MULTSECT] & 0xff))
480 return -EINVAL; 479 return -EINVAL;
481 480
482 if (drive->special.b.set_multmode) 481 if (drive->special_flags & IDE_SFLAG_SET_MULTMODE)
483 return -EBUSY; 482 return -EBUSY;
484 483
485 rq = blk_get_request(drive->queue, READ, __GFP_WAIT); 484 rq = blk_get_request(drive->queue, READ, __GFP_WAIT);
486 rq->cmd_type = REQ_TYPE_ATA_TASKFILE; 485 rq->cmd_type = REQ_TYPE_ATA_TASKFILE;
487 486
488 drive->mult_req = arg; 487 drive->mult_req = arg;
489 drive->special.b.set_multmode = 1; 488 drive->special_flags |= IDE_SFLAG_SET_MULTMODE;
490 error = blk_execute_rq(drive->queue, NULL, rq, 0); 489 error = blk_execute_rq(drive->queue, NULL, rq, 0);
491 blk_put_request(rq); 490 blk_put_request(rq);
492 491