When the DEBUG_SPINLOCK and DEBUG_LOCK_ALLOC config options are enabled, sizeof(raw_spinlock_t) grows considerably (from 4 bytes to 56 bytes currently). As a consequence the size of the gsi_trans structure exceeds 128 bytes, and this triggers a BUILD_BUG_ON() error.
These are useful configuration options to enable, so rather than causing a build failure, just issue a warning message at run time if the structure is larger than we'd prefer. Signed-off-by: Alex Elder <el...@linaro.org> --- drivers/net/ipa/ipa_main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 76d5108b8403..94d9aa0e999b 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -669,9 +669,6 @@ static void ipa_validate_build(void) */ BUILD_BUG_ON(GSI_TLV_MAX > U8_MAX); - /* Exceeding 128 bytes makes the transaction pool *much* larger */ - BUILD_BUG_ON(sizeof(struct gsi_trans) > 128); - /* This is used as a divisor */ BUILD_BUG_ON(!IPA_AGGR_GRANULARITY); #endif /* IPA_VALIDATE */ @@ -715,6 +712,10 @@ static int ipa_probe(struct platform_device *pdev) int ret; ipa_validate_build(); + /* Exceeding 128 bytes makes the transaction pool *much* larger */ + if (sizeof(struct gsi_trans) > 128) + dev_warn(dev, "WARNING: sizeof(struct gsi_trans) = %zu\n", + sizeof(struct gsi_trans)); /* If we need Trust Zone, make sure it's available */ modem_init = of_property_read_bool(dev->of_node, "modem-init"); -- 2.25.1