]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- randomize eth address on 'broken' r8169 cards. Upstream doesn't want this patch...
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 26 Mar 2012 17:15:40 +0000 (17:15 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    kernel-small_fixes.patch -> 1.43.2.20

kernel-small_fixes.patch

index 46fe39be3102a67c696bc86937d9f181ae97dde4..060581bca65e7f4336bd0d1dc569d9003f6d756a 100644 (file)
@@ -1033,3 +1033,26 @@ the body of a message to majordomo@vger.kernel.org
 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/r8169.c b/drivers/net/r8169.c
+index 7a0c800..ec5ebbb 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/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
+
+  
This page took 0.062768 seconds and 4 git commands to generate.