Hi Jens, Today's linux-next merge of the block tree got a conflict in drivers/ide/ide-atapi.c between several commit 626542ca2277961aaa64855206574f8ca4f360e3 ("ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically") from the ide tree and commit 8f6205cd572fece673da0255d74843680f67f879 ("ide: dequeue in-flight request") from the block tree. Just context changes. I fixed it up (see below) and can carry the fix as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/ide/ide-atapi.c index fbcb851,8a894fa..0000000 --- a/drivers/ide/ide-atapi.c +++ b/drivers/ide/ide-atapi.c @@@ -255,13 -256,22 +256,22 @@@ void ide_retry_pc(ide_drive_t *drive ide_init_pc(pc); memcpy(pc->c, sense_rq->cmd, 12); pc->buf = bio_data(sense_rq->bio); /* pointer to mapped address */ - pc->req_xfer = sense_rq->data_len; + pc->req_xfer = blk_rq_bytes(sense_rq); if (drive->media == ide_tape) - set_bit(IDE_AFLAG_IGNORE_DSC, &drive->atapi_flags); + drive->atapi_flags |= IDE_AFLAG_IGNORE_DSC; - if (ide_queue_sense_rq(drive, pc)) - ide_complete_rq(drive, -EIO, blk_rq_bytes(drive->hwif->rq)); + /* + * Push back the failed request and put request sense on top + * of it. The failed command will be retried after sense data + * is acquired. + */ + blk_requeue_request(failed_rq->q, failed_rq); + drive->hwif->rq = NULL; + if (ide_queue_sense_rq(drive, pc)) { + blk_start_request(failed_rq); + ide_complete_rq(drive, -EIO, blk_rq_bytes(failed_rq)); + } } EXPORT_SYMBOL_GPL(ide_retry_pc); -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html