2015-11-13 01:35:40

by Stephen Rothwell

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

Hi James,

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

In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0:
drivers/scsi/mpt3sas/mpt3sas_scsih.c: In function '_scsih_io_done':
drivers/scsi/mpt3sas/mpt3sas_base.h:1414:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_get': function body not available
mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid);
^
drivers/scsi/mpt3sas/mpt3sas_scsih.c:4448:6: error: called from here
if (mpt3sas_scsi_direct_io_get(ioc, smid) &&
^
In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0:
drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available
mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
^
drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here
mpt3sas_scsi_direct_io_set(ioc, smid, 0);
^
In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:5
9:0:
drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available
mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
^
drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here
mpt3sas_scsi_direct_io_set(ioc, smid, 0);
^

Presumably caused by commit

c84b06a48c4d ("mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs")

I applied the following fix patch for today:

From: Stephen Rothwell <[email protected]>
Date: Fri, 13 Nov 2015 12:31:09 +1100
Subject: [PATCH] mpt3sas: fix inline markers on non inline function
declarations

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

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
index a17bea95b0c5..5ad271efbd45 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.h
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
@@ -1410,9 +1410,9 @@ void mpt3sas_trigger_mpi(struct MPT3SAS_ADAPTER *ioc, u16 ioc_status,
u8 mpt3sas_get_num_volumes(struct MPT3SAS_ADAPTER *ioc);
void mpt3sas_init_warpdrive_properties(struct MPT3SAS_ADAPTER *ioc,
struct _raid_device *raid_device);
-inline u8
+u8
mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid);
-inline void
+void
mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
void
mpt3sas_setup_direct_io(struct MPT3SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
--
2.6.2

--
Cheers,
Stephen Rothwell [email protected]


2015-11-13 08:32:41

by Sreekanth Reddy

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

Thanks Stephen.

Please consider this patch as Ack-by: Sreekanth Reddy
<[email protected]>

Thanks,
Sreekanth

On Fri, Nov 13, 2015 at 7:05 AM, Stephen Rothwell <[email protected]> wrote:
> Hi James,
>
> After merging the scsi tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0:
> drivers/scsi/mpt3sas/mpt3sas_scsih.c: In function '_scsih_io_done':
> drivers/scsi/mpt3sas/mpt3sas_base.h:1414:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_get': function body not available
> mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid);
> ^
> drivers/scsi/mpt3sas/mpt3sas_scsih.c:4448:6: error: called from here
> if (mpt3sas_scsi_direct_io_get(ioc, smid) &&
> ^
> In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0:
> drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available
> mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
> ^
> drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here
> mpt3sas_scsi_direct_io_set(ioc, smid, 0);
> ^
> In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:5
> 9:0:
> drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available
> mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
> ^
> drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here
> mpt3sas_scsi_direct_io_set(ioc, smid, 0);
> ^
>
> Presumably caused by commit
>
> c84b06a48c4d ("mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs")
>
> I applied the following fix patch for today:
>
> From: Stephen Rothwell <[email protected]>
> Date: Fri, 13 Nov 2015 12:31:09 +1100
> Subject: [PATCH] mpt3sas: fix inline markers on non inline function
> declarations
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
> index a17bea95b0c5..5ad271efbd45 100644
> --- a/drivers/scsi/mpt3sas/mpt3sas_base.h
> +++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
> @@ -1410,9 +1410,9 @@ void mpt3sas_trigger_mpi(struct MPT3SAS_ADAPTER *ioc, u16 ioc_status,
> u8 mpt3sas_get_num_volumes(struct MPT3SAS_ADAPTER *ioc);
> void mpt3sas_init_warpdrive_properties(struct MPT3SAS_ADAPTER *ioc,
> struct _raid_device *raid_device);
> -inline u8
> +u8
> mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid);
> -inline void
> +void
> mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
> void
> mpt3sas_setup_direct_io(struct MPT3SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
> --
> 2.6.2
>
> --
> Cheers,
> Stephen Rothwell [email protected]