浏览代码

nfp: process MTU updates from firmware flower app

Now that control message processing occurs in a workqueue rather than a BH
handler MTU updates received from the firmware may be safely processed.

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Simon Horman 8 年之前
父节点
当前提交
2dff196224
共有 1 个文件被更改,包括 9 次插入2 次删除
  1. 9 2
      drivers/net/ethernet/netronome/nfp/flower/cmsg.c

+ 9 - 2
drivers/net/ethernet/netronome/nfp/flower/cmsg.c

@@ -150,10 +150,17 @@ nfp_flower_cmsg_portmod_rx(struct nfp_app *app, struct sk_buff *skb)
 		return;
 		return;
 	}
 	}
 
 
-	if (link)
+	if (link) {
+		u16 mtu = be16_to_cpu(msg->mtu);
+
 		netif_carrier_on(netdev);
 		netif_carrier_on(netdev);
-	else
+
+		/* An MTU of 0 from the firmware should be ignored */
+		if (mtu)
+			dev_set_mtu(netdev, mtu);
+	} else {
 		netif_carrier_off(netdev);
 		netif_carrier_off(netdev);
+	}
 	rcu_read_unlock();
 	rcu_read_unlock();
 }
 }