Thread (12 messages) 12 messages, 3 authors, 2025-10-31

Re: [PATCH net-next v16 5/5] net: rnpgbe: Add register_netdev

From: Yibo Dong <dong100@mucse.com>
Date: 2025-10-30 02:38:58
Also in: linux-doc, lkml

On Wed, Oct 29, 2025 at 07:21:35PM -0700, Jakub Kicinski wrote:
On Mon, 27 Oct 2025 11:29:05 +0800 Dong Yibo wrote:
quoted
diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h
index 37bd9278beaa..27fb080c0e37 100644
--- a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h
+++ b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h
@@ -6,6 +6,7 @@
 
 #include <linux/types.h>
 #include <linux/mutex.h>
+#include <linux/netdevice.h>
Why do you need to include netdevice.h here now?
This patch doesn't add anything that'd need it to the header.
It is for 'u8 perm_addr[ETH_ALEN];'
Maybe I should just "#include <linux/if_ether.h>" for this patch. 
quoted
 enum rnpgbe_boards {
 	board_n500,
@@ -26,18 +27,38 @@ struct mucse_mbx_info {
 	u32 fwpf_ctrl_base;
 };
 
+/* Enum for firmware notification modes,
+ * more modes (e.g., portup, link_report) will be added in future
+ **/
+enum {
+	mucse_fw_powerup,
+};
quoted
+	err = rnpgbe_get_permanent_mac(hw);
+	if (err == -EINVAL) {
+		dev_warn(&pdev->dev, "Using random MAC\n");
+		eth_random_addr(hw->perm_addr);
+	} else if (err) {
+		dev_err(&pdev->dev, "get perm_addr failed %d\n", err);
+		goto err_powerdown;
+	}
+
+	eth_hw_addr_set(netdev, hw->perm_addr);
This is wrong, you may have gotten random address. This will make it
look like a real permanent address. Should be:

	err = rnpgbe_get_permanent_mac(hw);
	if (!err) {
		eth_hw_addr_set(netdev, hw->perm_addr);
	} else if (err == -EINVAL) {
		dev_warn(&pdev->dev, "Using random MAC\n");
		eth_hw_addr_random(netdev);
		ether_addr_copy(hw->perm_addr, dev->dev_addr);
	} else if (err) {
		dev_err(&pdev->dev, "get perm_addr failed %d\n", err);
		goto err_powerdown;
	}
You are right. I will fix this in next version, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help