Subject: Re: linux-next: build failure after merge of the block tree

From: Sebastian Ott <[email-masked]>
Date: Mon, 19 Jun 2017 11:00:23 +0200 (CEST)

On Thu, 15 Jun 2017, Sebastian Ott wrote:
> On Tue, 13 Jun 2017, Stephen Rothwell wrote:
> > After merging the block tree, today's linux-next build (s390x
> > s390-defconfig) failed like this:
> > 
> > drivers/s390/block/scm_blk.c:293:10: error: 'BLK_MQ_RQ_QUEUE_BUSY' undeclared (first use in this function)
> > drivers/s390/block/scm_blk.c:327:9: error: 'BLK_MQ_RQ_QUEUE_OK' undeclared (first use in this function)
> > 
> > Caused by commit
> > 
> >   fc17b6534eb8 ("blk-mq: switch ->queue_rq return value to blk_status_t")
> > 
> > interacting with commit
> > 
> >   12d907626539 ("s390/scm: convert to blk-mq")
> > 
> > from the s390 tree.
> > 
> > Is the following the correct merge fixup?
> 
> Yes, that looks good!

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);