diff options
Diffstat (limited to 'kernel/drivers/ide/ide-tape.c')
-rw-r--r-- | kernel/drivers/ide/ide-tape.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/drivers/ide/ide-tape.c b/kernel/drivers/ide/ide-tape.c index 6eb738ca6..12fa04997 100644 --- a/kernel/drivers/ide/ide-tape.c +++ b/kernel/drivers/ide/ide-tape.c @@ -576,8 +576,8 @@ static ide_startstop_t idetape_do_request(ide_drive_t *drive, rq->cmd[0], (unsigned long long)blk_rq_pos(rq), blk_rq_sectors(rq)); - BUG_ON(!(rq->cmd_type == REQ_TYPE_SPECIAL || - rq->cmd_type == REQ_TYPE_SENSE)); + BUG_ON(!(rq->cmd_type == REQ_TYPE_DRV_PRIV || + rq->cmd_type == REQ_TYPE_ATA_SENSE)); /* Retry a failed packet command */ if (drive->failed_pc && drive->pc->c[0] == REQUEST_SENSE) { @@ -852,15 +852,15 @@ static int idetape_queue_rw_tail(ide_drive_t *drive, int cmd, int size) BUG_ON(cmd != REQ_IDETAPE_READ && cmd != REQ_IDETAPE_WRITE); BUG_ON(size < 0 || size % tape->blk_size); - rq = blk_get_request(drive->queue, READ, __GFP_WAIT); - rq->cmd_type = REQ_TYPE_SPECIAL; + rq = blk_get_request(drive->queue, READ, __GFP_RECLAIM); + rq->cmd_type = REQ_TYPE_DRV_PRIV; rq->cmd[13] = cmd; rq->rq_disk = tape->disk; rq->__sector = tape->first_frame; if (size) { ret = blk_rq_map_kern(drive->queue, rq, tape->buf, size, - __GFP_WAIT); + __GFP_RECLAIM); if (ret) goto out_put; } |