diff mbox

scsi: hisi_sas: select CONFIG_RAS

Message ID 20171102165059.213216-1-arnd@arndb.de (mailing list archive)
State Not Applicable
Headers show

Commit Message

Arnd Bergmann Nov. 2, 2017, 4:50 p.m. UTC
The driver now uses the RAS infrastructure, and fails to link if that
is disabled:

drivers/scsi/hisi_sas/hisi_sas_v2_hw.o: In function `fatal_ecc_int_v2_hw':
hisi_sas_v2_hw.c:(.text+0xb08): undefined reference to `__tracepoint_non_standard_event'
drivers/scsi/hisi_sas/hisi_sas_v2_hw.o: In function `fatal_axi_int_v2_hw':
hisi_sas_v2_hw.c:(.text+0x1b34): undefined reference to `__tracepoint_non_standard_event'

This adds an explicit Kconfig 'select RAS' statement. I don't know if
the driver uses the interface correctly, as no other driver seems to do
it like this, but the change fixes the link error.

Fixes: dfeb5021f001 ("scsi: hisi_sas: report ECC and AXI errors in v2 hw to userspace")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/scsi/hisi_sas/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

John Garry Nov. 3, 2017, 10:14 a.m. UTC | #1
+ Shiju, who authored the original patch

Hi Arnd,

Thanks for this.

On 02/11/2017 16:50, Arnd Bergmann wrote:
> The driver now uses the RAS infrastructure, and fails to link if that
> is disabled:
>
> drivers/scsi/hisi_sas/hisi_sas_v2_hw.o: In function `fatal_ecc_int_v2_hw':
> hisi_sas_v2_hw.c:(.text+0xb08): undefined reference to `__tracepoint_non_standard_event'
> drivers/scsi/hisi_sas/hisi_sas_v2_hw.o: In function `fatal_axi_int_v2_hw':
> hisi_sas_v2_hw.c:(.text+0x1b34): undefined reference to `__tracepoint_non_standard_event'
>
> This adds an explicit Kconfig 'select RAS' statement. I don't know if
> the driver uses the interface correctly, as no other driver seems to do
> it like this, but the change fixes the link error.
>
> Fixes: dfeb5021f001 ("scsi: hisi_sas: report ECC and AXI errors in v2 hw to userspace")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/scsi/hisi_sas/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/scsi/hisi_sas/Kconfig b/drivers/scsi/hisi_sas/Kconfig
> index d42f29a5eb65..6ad8a6251d21 100644
> --- a/drivers/scsi/hisi_sas/Kconfig
> +++ b/drivers/scsi/hisi_sas/Kconfig
> @@ -4,6 +4,7 @@ config SCSI_HISI_SAS
>  	depends on ARM64 || COMPILE_TEST
>  	select SCSI_SAS_LIBSAS
>  	select BLK_DEV_INTEGRITY
> +	select RAS

My impression is that we don't want this. Correction: shouldn't want this.

Do you have the .config for the broken build? I couldn't recreate this 
by turning off CONFIG_RAS.

John

>  	depends on ATA
>  	help
>  		This driver supports HiSilicon's SAS HBA, including support based
>
Arnd Bergmann Nov. 3, 2017, 10:19 a.m. UTC | #2
On Fri, Nov 3, 2017 at 11:14 AM, John Garry <john.garry@huawei.com> wrote:
> + Shiju, who authored the original patch
>

>> index d42f29a5eb65..6ad8a6251d21 100644
>> --- a/drivers/scsi/hisi_sas/Kconfig
>> +++ b/drivers/scsi/hisi_sas/Kconfig
>> @@ -4,6 +4,7 @@ config SCSI_HISI_SAS
>>         depends on ARM64 || COMPILE_TEST
>>         select SCSI_SAS_LIBSAS
>>         select BLK_DEV_INTEGRITY
>> +       select RAS
>
>
> My impression is that we don't want this. Correction: shouldn't want this.
>
> Do you have the .config for the broken build? I couldn't recreate this by
> turning off CONFIG_RAS.

Uploaded to https://pastebin.com/A1rJYhDr
Maybe you were missing support for tracing in your configuration?

      Arnd
John Garry Nov. 3, 2017, 12:02 p.m. UTC | #3
On 03/11/2017 10:19, Arnd Bergmann wrote:
> On Fri, Nov 3, 2017 at 11:14 AM, John Garry <john.garry@huawei.com> wrote:
>> + Shiju, who authored the original patch
>>
>
>>> index d42f29a5eb65..6ad8a6251d21 100644
>>> --- a/drivers/scsi/hisi_sas/Kconfig
>>> +++ b/drivers/scsi/hisi_sas/Kconfig
>>> @@ -4,6 +4,7 @@ config SCSI_HISI_SAS
>>>         depends on ARM64 || COMPILE_TEST
>>>         select SCSI_SAS_LIBSAS
>>>         select BLK_DEV_INTEGRITY
>>> +       select RAS
>>
>>
>> My impression is that we don't want this. Correction: shouldn't want this.
>>
>> Do you have the .config for the broken build? I couldn't recreate this by
>> turning off CONFIG_RAS.
>
> Uploaded to https://pastebin.com/A1rJYhDr
> Maybe you were missing support for tracing in your configuration?
>

Thanks Arnd, I can see it now.

However, as you said, it looks like this interface is not being used 
correctly, and I tend to agree.

Actually this interface is intended for logging UEFI CPER non-standard 
records from kernel RAS/APEI framework to userspace. It is not intended 
for kernel peripheral driver logging (like this case). Until we get a 
community concensus on whether this is acceptable, I would rather revert 
the original patch.

Thanks,
John

>       Arnd
>
> .
>
Martin K. Petersen Nov. 3, 2017, 3:24 p.m. UTC | #4
John,

> Actually this interface is intended for logging UEFI CPER non-standard
> records from kernel RAS/APEI framework to userspace. It is not intended
> for kernel peripheral driver logging (like this case). Until we get a
> community concensus on whether this is acceptable, I would rather revert
> the original patch.

OK, dropped it for now.
diff mbox

Patch

diff --git a/drivers/scsi/hisi_sas/Kconfig b/drivers/scsi/hisi_sas/Kconfig
index d42f29a5eb65..6ad8a6251d21 100644
--- a/drivers/scsi/hisi_sas/Kconfig
+++ b/drivers/scsi/hisi_sas/Kconfig
@@ -4,6 +4,7 @@  config SCSI_HISI_SAS
 	depends on ARM64 || COMPILE_TEST
 	select SCSI_SAS_LIBSAS
 	select BLK_DEV_INTEGRITY
+	select RAS
 	depends on ATA
 	help
 		This driver supports HiSilicon's SAS HBA, including support based