Commit dd47087b authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Bartlomiej Zolnierkiewicz
Browse files

ide-disk: convert ide_do_drive_cmd path to use blk_execute_rq



This converts the ide_do_drive_cmd path using ide_wait to use
blk_execute_rq.

Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Borislav Petkov <petkovbb@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 0ef4c4db
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -617,7 +617,8 @@ static void idedisk_prepare_flush(struct request_queue *q, struct request *rq)
 */
static int set_multcount(ide_drive_t *drive, int arg)
{
	struct request rq;
	struct request *rq;
	int error;

	if (arg < 0 || arg > drive->id->max_multsect)
		return -EINVAL;
@@ -625,12 +626,13 @@ static int set_multcount(ide_drive_t *drive, int arg)
	if (drive->special.b.set_multmode)
		return -EBUSY;

	ide_init_drive_cmd(&rq);
	rq.cmd_type = REQ_TYPE_ATA_TASKFILE;
	rq = blk_get_request(drive->queue, READ, __GFP_WAIT);
	rq->cmd_type = REQ_TYPE_ATA_TASKFILE;

	drive->mult_req = arg;
	drive->special.b.set_multmode = 1;
	(void)ide_do_drive_cmd(drive, &rq, ide_wait);
	error = blk_execute_rq(drive->queue, NULL, rq, 0);
	blk_put_request(rq);

	return (drive->mult_count == arg) ? 0 : -EIO;
}