lkml.org 
[lkml]   [2019]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: linux-next: Tree for Dec 3 (switchdev & TI_CPSW_SWITCHDEV)
From
Date


On 04/12/2019 01:43, Randy Dunlap wrote:
> On 12/2/19 8:54 PM, Stephen Rothwell wrote:
>> Hi all,
>>
>> Please do not add any material for v5.6 to your linux-next included
>> trees until after v5.5-rc1 has been released.
>>
>> Changes since 20191202:
>
> I am seeing this (happens to be on i386; I doubt that it matters):
> CONFIG_COMPILE_TEST=y
>
>
> WARNING: unmet direct dependencies detected for NET_SWITCHDEV
> Depends on [n]: NET [=y] && INET [=n]
> Selected by [y]:
> - TI_CPSW_SWITCHDEV [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_TI [=y] && (ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST [=y])
>
> because TI_CPSW_SWITCHDEV blindly selects NET_SWITCHDEV even though
> INET is not set/enabled, while NET_SWITCHDEV depends on INET.
>
> However, the build succeeds, including net/switchdev/*.
>
> So why does NET_SWITCHDEV depend on INET?
>
> It looks like TI_CPSW_SWITCHDEV should depend on INET (based on the
> Kconfig rules), but in practice it doesn't seem to matter to the build.
>

Thanks for reporting this. I'd like to ask for some advice of how to proceed?
a) change it to "depends on NET_SWITCHDEV" (as it's done in other drivers),
but this will require to add NET_SWITCHDEV in defconfig

b) change it to "imply NET_SWITCHDEV", but then NET_SWITCHDEV can be switched off
manually or by random build and cause build failure of cpsw_new.
To fix build below diff can be used, but TI_CPSW_SWITCHDEV will not be functional

---
diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c
index 71215db7934b..22e8fc548d48 100644
--- a/drivers/net/ethernet/ti/cpsw_new.c
+++ b/drivers/net/ethernet/ti/cpsw_new.c
@@ -368,8 +368,9 @@ static void cpsw_rx_handler(void *token, int len, int status)
page_pool_recycle_direct(pool, page);
goto requeue;
}
-
+#ifdef CONFIG_NET_SWITCHDEV
skb->offload_fwd_mark = priv->offload_fwd_mark;
+#endif
skb_reserve(skb, headroom);
skb_put(skb, len);
skb->dev = ndev;
Thank you.

--
Best regards,
grygorii

\
 
 \ /
  Last update: 2019-12-04 16:36    [W:0.113 / U:20.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site