diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index 027bf43975920707ad27e3a545d1cf2be8240c4d..717e114ced524d96bbd89a91ac8b3042ab9a4e8f 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c @@ -620,8 +620,10 @@ 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_CMD; + 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); diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index b8c7e8134d885a50b1dd2052fb4ac96384213339..94046509f004a9666c83f0561ef89bf03435cd40 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c @@ -781,7 +781,7 @@ int ide_cmd_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) struct request rq; ide_init_drive_cmd(&rq); - rq.cmd_type = REQ_TYPE_ATA_CMD; + rq.cmd_type = REQ_TYPE_ATA_TASKFILE; return ide_do_drive_cmd(drive, &rq, ide_wait); } diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 446b128501552c003b504dd3edc41cf44d1b4a97..97894abd9ebca93da51af65b7268a953e7969a47 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -880,7 +880,7 @@ int set_pio_mode(ide_drive_t *drive, int arg) return -EBUSY; ide_init_drive_cmd(&rq); - rq.cmd_type = REQ_TYPE_ATA_CMD; + rq.cmd_type = REQ_TYPE_ATA_TASKFILE; drive->tune_req = (u8) arg; drive->special.b.set_tune = 1;