Skip to content

Commit

Permalink
net: ethernet: ti: am65-cpsw: Fix xdp_rxq error for disabled port
Browse files Browse the repository at this point in the history
When an ethX port is disabled in the device tree, an error is returned
by xdp_rxq_info_reg() function while transitioning the CPSW device to
the up state. The message 'Missing net_device from driver' is output.

This patch fixes the issue by registering xdp_rxq info only if ethX
port is enabled (i.e. ndev pointer is not NULL).

Fixes: 8acacc4 ("net: ethernet: ti: am65-cpsw: Add minimal XDP support")
Link: https://lore.kernel.org/all/260d258f-87a1-4aac-8883-aab4746b32d8@ti.com/
Reported-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Closes: https://gist.github.com/Siddharth-Vadapalli-at-TI/5ed0e436606001c247a7da664f75edee
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Julien Panis authored and David S. Miller committed Apr 22, 2024
1 parent bfa858f commit 80b7aae
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/net/ethernet/ti/am65-cpsw-nuss.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,9 @@ static void am65_cpsw_destroy_xdp_rxqs(struct am65_cpsw_common *common)
int i;

for (i = 0; i < common->port_num; i++) {
if (!common->ports[i].ndev)
continue;

rxq = &common->ports[i].xdp_rxq;

if (xdp_rxq_info_is_reg(rxq))
Expand Down Expand Up @@ -426,6 +429,9 @@ static int am65_cpsw_create_xdp_rxqs(struct am65_cpsw_common *common)
rx_chn->page_pool = pool;

for (i = 0; i < common->port_num; i++) {
if (!common->ports[i].ndev)
continue;

rxq = &common->ports[i].xdp_rxq;

ret = xdp_rxq_info_reg(rxq, common->ports[i].ndev, i, 0);
Expand Down

0 comments on commit 80b7aae

Please sign in to comment.