Why does lpfc select GENERIC_CSUM?
Hi Randy,
commit 6a7252fd ([SCSI] lpfc: fix up Kconfig dependencies) added a select of GENERIC_CSUM. This seems strange to me - it's an architecture specific detail if the checksum routines are implemented in assembly or if they pull in lib/checksum.c.
The networking code doesn't select GENERIC_CSUM, so I'm not sure why the lpfc driver needs to. Was there a real issue we hit here?
Regards,
Anton
Quoted 8 lines · Anton Blanchard
Hi Randy,
commit
6a7252fd([SCSI] lpfc: fix upKconfigdependencies) added a select ofGENERIC_CSUM. This seems strange to me - it's an architecture specific detail if the checksum routines are implemented in assembly or if they pull inlib/checksum.c.
Quoted 6 lines
The networking code doesn't select
GENERIC_CSUM, so I'm not sure why the lpfc driver needs to. Was there a real issue we hit here?Regards,
Anton
Hi Anton,
I reported:
"""
on i386:
# CONFIG_CRC_T10DIF is not set
drivers/built-in.o: In function `lpfc_bg_crc':
(.text+0x3cb3c9): undefined reference to `crc_t10dif' """
and then James Bottomley provided the patch.
I don't know why he added GENERIC_CSUM to it.
Signature · 1 line
~Randy
[SCSI] lpfc: Don't force CONFIG_GENERIC_CSUM on
Hi Randy,
Quoted 6 lines
I reported:
"""
on i386:
#CONFIG_CRC_T10DIFis not set
Quoted 6 lines
drivers/built-in.o: In function `lpfc_bg_crc':
(.text+0x3cb3c9): undefined reference to `crc_t10dif' """and then James Bottomley provided the patch.
I don't know why he addedGENERIC_CSUMto it.
Thanks for investigating this. How does this patch look?
Anton
--
[SCSI] lpfc: Don't force CONFIG_GENERIC_CSUM on
We want ppc64 to be able to select between optimised assembly checksum routines in big endian and the generic lib/checksum.c routines in little endian.
The lpfc driver is forcing CONFIG_GENERIC_CSUM on which means we are unable to make the decision to enable it in the arch Kconfig. If the option exists it is always forced on.
This got introduced in 3.10 via commit 6a7252fdb0c3 ([SCSI] lpfc:
fix up Kconfig dependencies). I spoke to Randy about it and the original issue was with CRC_T10DIF not being defined.
As such, remove the select of CONFIG_GENERIC_CSUM.
---
drivers/scsi/Kconfig +0 -1
@@ -1353,7 +1353,6 @@ config SCSI_LPFC tristate "Emulex LightPulse Fibre Channel Support" depends on PCI && SCSI select SCSI_FC_ATTRS - select GENERIC_CSUM select CRC_T10DIF help This lpfc driver supports the Emulex LightPulse
James Smart
Acked-byRe: [SCSI] lpfc: Don't force CONFIG_GENERIC_CSUM on
I'm good with it. You folks understand the config dependencies better than I.
-- james
Quoted 52 lines · Anton Blanchard
Hi Randy,
Quoted 6 lines
I reported:
"""
on i386:
#CONFIG_CRC_T10DIFis not setQuoted 6 lines
drivers/built-in.o: In function `lpfc_bg_crc':
(.text+0x3cb3c9): undefined reference to `crc_t10dif' """and then James Bottomley provided the patch.
I don't know why he addedGENERIC_CSUMto it.Thanks for investigating this. How does this patch look?
Anton
--[SCSI] lpfc: Don't force
CONFIG_GENERIC_CSUMonWe want ppc64 to be able to select between optimised assembly checksum routines in big endian and the generic
lib/checksum.croutines in little endian.The lpfc driver is forcing
CONFIG_GENERIC_CSUMon which means we are unable to make the decision to enable it in the archKconfig. If the option exists it is always forced on.This got introduced in 3.10 via commit
6a7252fdb0c3([SCSI] lpfc:
fix upKconfigdependencies). I spoke to Randy about it and the original issue was withCRC_T10DIFnot being defined.As such, remove the select of
CONFIG_GENERIC_CSUM.Signed-off-by Anton Blanchard <[email protected]>Cc <[email protected]> # 3.10---
drivers/scsi/Kconfig +0
-1@@ -1353,7 +1353,6 @@ config SCSI_LPFC tristate "Emulex LightPulse Fibre Channel Support" depends on PCI && SCSI select SCSI_FC_ATTRS - select GENERIC_CSUM select CRC_T10DIF help This lpfc driver supports the Emulex LightPulse