eth: fbnic: don't build the driver when skb has more than 21 frags
authorJakub Kicinski <kuba@kernel.org>
Wed, 17 Jul 2024 16:15:59 +0000 (09:15 -0700)
committerPaolo Abeni <pabeni@redhat.com>
Fri, 19 Jul 2024 14:36:34 +0000 (16:36 +0200)
Similarly to commit 0e03c643dc93 ("eth: fbnic: fix s390 build."),
the driver won't build if skb_shared_info has more than 25 frags
assuming a 64B cache line and 21 frags assuming a 128B cache line.

  (512 - 48 -  64) / 16 = 25
  (512 - 48 - 128) / 16 = 21

Fixes: 0cb4c0a13723 ("eth: fbnic: Implement Rx queue alloc/start/stop/free")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20240717161600.1291544-1-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/meta/Kconfig

index a9f078212c783a2b44b60f0a51eb7d74b162caab..86034ea4ba5b6128284787833243603fc5587973 100644 (file)
@@ -21,6 +21,7 @@ config FBNIC
        tristate "Meta Platforms Host Network Interface"
        depends on X86_64 || COMPILE_TEST
        depends on S390=n
+       depends on MAX_SKB_FRAGS < 22
        depends on PCI_MSI
        select PHYLINK
        help