On Fri, 2013-11-29 at 16:42 +0800, majianpeng wrote:
> Test cdrom on intel ahci, it will trigger this condition.
> This is because scsi-mq don' test 'q->dma_drain_size &&
> blk_rq_bytes(rq)' like in blk_peek_request().
> 
> Signed-off-by: Jianpeng Ma <[email protected]>
> ---
>  drivers/scsi/scsi-mq.c |   10 ++++++++++
>  1 file changed, 10 insertions(+)
> 

Applied, + squashed into current target-pending/scsi-mq code.

Thanks Jianpeng!

--nab

> diff --git a/drivers/scsi/scsi-mq.c b/drivers/scsi/scsi-mq.c
> index 933ba0f..78b05c1 100644
> --- a/drivers/scsi/scsi-mq.c
> +++ b/drivers/scsi/scsi-mq.c
> @@ -35,6 +35,16 @@ static int scsi_mq_queue_rq(struct blk_mq_hw_ctx *hctx, 
> struct request *rq)
>       sc->device = sdev;
>       sc->sense_buffer = sense_buf;
>       sc->mq_sgl = sg;
> +
> +     if (q->dma_drain_size && blk_rq_bytes(rq)) {
> +             /*
> +              * make sure space for the drain appears we
> +              * know we can do this because max_hw_segments
> +              * has been adjusted to be one fewer than the
> +              * device can handle
> +              */
> +             rq->nr_phys_segments++;
> +     }
>       /*
>        * Mark the end of the pre-allocated SGL based upon the
>        * incoming number of physical segments from blk-mq


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to