diff mbox series

scsi: hisi_sas: select CONFIG_RAS

Message ID 20171102165059.213216-1-arnd@arndb.de
State New
Headers show
Series scsi: hisi_sas: select CONFIG_RAS | expand

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(+)

-- 
2.9.0

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.

-- 
Martin K. Petersen	Oracle Linux Engineering
diff mbox series

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