packages (LINUX_3_2): kernel/kernel-small_fixes.patch - randomize eth addre...
arekm
arekm at pld-linux.org
Mon Mar 26 19:12:51 CEST 2012
Author: arekm Date: Mon Mar 26 17:12:51 2012 GMT
Module: packages Tag: LINUX_3_2
---- Log message:
- randomize eth address on 'broken' r8169 cards. Upstream doesn't want this patch but we do.
---- Files affected:
packages/kernel:
kernel-small_fixes.patch (1.55 -> 1.55.2.1)
---- Diffs:
================================================================
Index: packages/kernel/kernel-small_fixes.patch
diff -u packages/kernel/kernel-small_fixes.patch:1.55 packages/kernel/kernel-small_fixes.patch:1.55.2.1
--- packages/kernel/kernel-small_fixes.patch:1.55 Fri Mar 9 22:39:02 2012
+++ packages/kernel/kernel-small_fixes.patch Mon Mar 26 19:12:45 2012
@@ -282,3 +282,26 @@
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
+diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
+index 7a0c800..ec5ebbb 100644
+--- a/drivers/net/ethernet/realtek/r8169.c
++++ b/drivers/net/ethernet/realtek/r8169.c
+@@ -4103,6 +4103,14 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ /* Get MAC address */
+ for (i = 0; i < ETH_ALEN; i++)
+ dev->dev_addr[i] = RTL_R8(MAC0 + i);
++
++ if (!is_valid_ether_addr(dev->dev_addr)) {
++ /* Report it and use a random ethernet address instead */
++ netdev_err(dev, "Invalid MAC address: %pM\n", dev->dev_addr);
++ random_ether_addr(dev->dev_addr);
++ netdev_info(dev, "Using random MAC address: %pM\n",
++ dev->dev_addr);
++ }
+ memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
+
+ SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);
+--
+1.7.7.3
+
+
\ No newline at end of file
================================================================
---- CVS-web:
http://cvs.pld-linux.org/packages/kernel/kernel-small_fixes.patch?r1=1.55&r2=1.55.2.1
More information about the pld-cvs-commit
mailing list