Hi Sebastian, On Mon, 19 Jun 2017 11:00:23 +0200 (CEST) Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> wrote: > > Ok, we should also adjust the return code to fix this: > > drivers/s390/block/scm_blk.c:426:2: warning: initialization from incompatible pointer type [enabled by default] > .queue_rq = scm_blk_request, > ^ > > diff --git a/drivers/s390/block/scm_blk.c b/drivers/s390/block/scm_blk.c > index 2cd6123c8f18..4279685901bf 100644 > --- a/drivers/s390/block/scm_blk.c > +++ b/drivers/s390/block/scm_blk.c > @@ -278,8 +278,8 @@ struct scm_queue { > spinlock_t lock; > }; > > -static int scm_blk_request(struct blk_mq_hw_ctx *hctx, > - const struct blk_mq_queue_data *qd) > +static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx, > + const struct blk_mq_queue_data *qd) > { > struct scm_device *scmdev = hctx->queue->queuedata; > struct scm_blk_dev *bdev = dev_get_drvdata(&scmdev->dev); > Good point, I have done that today. The complete fix up patch now looks like this: From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue, 13 Jun 2017 20:51:32 +1000 Subject: [PATCH] s390: fix up for "blk-mq: switch ->queue_rq return value to blk_status_t" Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- drivers/s390/block/scm_blk.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/s390/block/scm_blk.c b/drivers/s390/block/scm_blk.c index 42018a20f2b7..0071febac9e6 100644 --- a/drivers/s390/block/scm_blk.c +++ b/drivers/s390/block/scm_blk.c @@ -278,7 +278,7 @@ struct scm_queue { spinlock_t lock; }; -static int scm_blk_request(struct blk_mq_hw_ctx *hctx, +static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx, const struct blk_mq_queue_data *qd) { struct scm_device *scmdev = hctx->queue->queuedata; @@ -290,7 +290,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx, spin_lock(&sq->lock); if (!scm_permit_request(bdev, req)) { spin_unlock(&sq->lock); - return BLK_MQ_RQ_QUEUE_BUSY; + return BLK_STS_RESOURCE; } scmrq = sq->scmrq; @@ -299,7 +299,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx, if (!scmrq) { SCM_LOG(5, "no request"); spin_unlock(&sq->lock); - return BLK_MQ_RQ_QUEUE_BUSY; + return BLK_STS_RESOURCE; } scm_request_init(bdev, scmrq); sq->scmrq = scmrq; @@ -315,7 +315,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx, sq->scmrq = NULL; spin_unlock(&sq->lock); - return BLK_MQ_RQ_QUEUE_BUSY; + return BLK_STS_RESOURCE; } blk_mq_start_request(req); @@ -324,7 +324,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx, sq->scmrq = NULL; } spin_unlock(&sq->lock); - return BLK_MQ_RQ_QUEUE_OK; + return BLK_STS_OK; } static int scm_blk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, -- 2.11.0 -- Cheers, Stephen Rothwell -- 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