2018-03-22 06:27:15

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the scsi-mkp tree

Hi Martin,

After merging the scsi-mkp tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

drivers/scsi/qla2xxx/qla_gs.c: In function 'qla24xx_async_gnnft_done':
drivers/scsi/qla2xxx/qla_gs.c:3974:7: error: 'fc4type' undeclared (first use in this function); did you mean 'fc4type_t'?
if ((fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
^~~~~~~
fc4type_t
drivers/scsi/qla2xxx/qla_gs.c:3974:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/scsi/qla2xxx/qla_gs.c:3975:3: error: too few arguments to function 'qla24xx_async_gpnft'
qla24xx_async_gpnft(vha, FC4_TYPE_NVME);
^~~~~~~~~~~~~~~~~~~
In file included from drivers/scsi/qla2xxx/qla_def.h:4633:0,
from drivers/scsi/qla2xxx/qla_gs.c:7:
drivers/scsi/qla2xxx/qla_gbl.h:661:5: note: declared here
int qla24xx_async_gpnft(scsi_qla_host_t *, u8, srb_t *);
^~~~~~~~~~~~~~~~~~~

Caused by commit

33b28357dd00 ("scsi: qla2xxx: Fix Async GPN_FT for FCP and FC-NVMe scan")

interacting with commit

2b5b96473efc ("scsi: qla2xxx: Fix FC-NVMe LUN discovery")

from Linus' tree.

I have added the following merge fix patch for today. Unfortunately it
produces this warning, so a better merge resolution is needed ...

drivers/scsi/qla2xxx/qla_gs.c: In function 'qla24xx_async_gnnft_done':
drivers/scsi/qla2xxx/qla_gs.c:3974:9: warning: 'rp' may be used uninitialized in this function [-Wmaybe-uninitialized]
if ((rp->fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
~~^~~~~~~~~


From: Stephen Rothwell <[email protected]>
Date: Thu, 22 Mar 2018 17:09:38 +1100
Subject: [PATCH] scsi: qla2xxx: merge fix in qla_gs.c

Signed-off-by: Stephen Rothwell <[email protected]>
---
drivers/scsi/qla2xxx/qla_gs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
index f84807e850c3..d33f4619332e 100644
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@ -3971,8 +3971,8 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
vha->scan.scan_flags &= ~SF_SCANNING;
spin_unlock_irqrestore(&vha->work_lock, flags);

- if ((fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
- qla24xx_async_gpnft(vha, FC4_TYPE_NVME);
+ if ((rp->fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
+ qla24xx_async_gpnft(vha, FC4_TYPE_NVME, NULL);
}

static void qla2x00_find_free_fcp_nvme_slot(struct scsi_qla_host *vha,
--
2.16.1

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2018-03-22 16:35:07

by Madhani, Himanshu

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the scsi-mkp tree

Hi Stephen,


> On Mar 21, 2018, at 11:25 PM, Stephen Rothwell <[email protected]> wrote:
>
> Hi Martin,
>
> After merging the scsi-mkp tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> drivers/scsi/qla2xxx/qla_gs.c: In function 'qla24xx_async_gnnft_done':
> drivers/scsi/qla2xxx/qla_gs.c:3974:7: error: 'fc4type' undeclared (first use in this function); did you mean 'fc4type_t'?
> if ((fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
> ^~~~~~~
> fc4type_t
> drivers/scsi/qla2xxx/qla_gs.c:3974:7: note: each undeclared identifier is reported only once for each function it appears in
> drivers/scsi/qla2xxx/qla_gs.c:3975:3: error: too few arguments to function 'qla24xx_async_gpnft'
> qla24xx_async_gpnft(vha, FC4_TYPE_NVME);
> ^~~~~~~~~~~~~~~~~~~
> In file included from drivers/scsi/qla2xxx/qla_def.h:4633:0,
> from drivers/scsi/qla2xxx/qla_gs.c:7:
> drivers/scsi/qla2xxx/qla_gbl.h:661:5: note: declared here
> int qla24xx_async_gpnft(scsi_qla_host_t *, u8, srb_t *);
> ^~~~~~~~~~~~~~~~~~~
>
> Caused by commit
>
> 33b28357dd00 ("scsi: qla2xxx: Fix Async GPN_FT for FCP and FC-NVMe scan")
>
> interacting with commit
>
> 2b5b96473efc ("scsi: qla2xxx: Fix FC-NVMe LUN discovery")
>
> from Linus' tree.
>
> I have added the following merge fix patch for today. Unfortunately it
> produces this warning, so a better merge resolution is needed ...
>
> drivers/scsi/qla2xxx/qla_gs.c: In function 'qla24xx_async_gnnft_done':
> drivers/scsi/qla2xxx/qla_gs.c:3974:9: warning: 'rp' may be used uninitialized in this function [-Wmaybe-uninitialized]
> if ((rp->fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
> ~~^~~~~~~~~
>
>
> From: Stephen Rothwell <[email protected]>
> Date: Thu, 22 Mar 2018 17:09:38 +1100
> Subject: [PATCH] scsi: qla2xxx: merge fix in qla_gs.c
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> drivers/scsi/qla2xxx/qla_gs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
> index f84807e850c3..d33f4619332e 100644
> --- a/drivers/scsi/qla2xxx/qla_gs.c
> +++ b/drivers/scsi/qla2xxx/qla_gs.c
> @@ -3971,8 +3971,8 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
> vha->scan.scan_flags &= ~SF_SCANNING;
> spin_unlock_irqrestore(&vha->work_lock, flags);
>
> - if ((fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
> - qla24xx_async_gpnft(vha, FC4_TYPE_NVME);
> + if ((rp->fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
> + qla24xx_async_gpnft(vha, FC4_TYPE_NVME, NULL);
> }
>
> static void qla2x00_find_free_fcp_nvme_slot(struct scsi_qla_host *vha,
> --
> 2.16.1
>
> --
> Cheers,
> Stephen Rothwell

Thanks so much to attempt to fix the build failure. I was aware of this issue and had
send the diff yesterday with change that should be used for resolving merge conflict and
compile failure.

Please use following to fix for the merge conflict and compile failure.

diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
index 403fa096f8c8..21eff2d30266 100644
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@ -3973,9 +3973,6 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
spin_lock_irqsave(&vha->work_lock, flags);
vha->scan.scan_flags &= ~SF_SCANNING;
spin_unlock_irqrestore(&vha->work_lock, flags);
-
- if ((fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled)
- qla24xx_async_gpnft(vha, FC4_TYPE_NVME);
}

static void qla2x00_async_gpnft_gnnft_sp_done(void *s, int res)
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 5c5dcca4d1da..dab847ba4bce 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -4822,9 +4822,10 @@ void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e)
fcport->d_id = e->u.new_sess.id;
fcport->flags |= FCF_FABRIC_DEVICE;
fcport->fw_login_state = DSC_LS_PLOGI_PEND;
- if (e->u.new_sess.fc4_type == FC4_TYPE_FCP_SCSI) {
+ if (e->u.new_sess.fc4_type & FC4_TYPE_FCP_SCSI)
fcport->fc4_type = FC4_TYPE_FCP_SCSI;
- } else if (e->u.new_sess.fc4_type == FC4_TYPE_NVME) {
+
+ if (e->u.new_sess.fc4_type & FC4_TYPE_NVME) {
fcport->fc4_type = FC4_TYPE_OTHER;
fcport->fc4f_nvme = FC4_TYPE_NVME;
}
(END)

Thanks,
- Himanshu