Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Revert "r8169: mac address change support"

This reverts commit a2b98a697fa4e7564f78905b83db122824916cf9.

As per Guennadi Liakhovetski, the mac address change support code breaks
some normal uses (_without_ any address changes), and until it's all
sorted out, we're better off without it.

Says Francois:

"Go revert it.

Despite what I claimed, I can not find a third-party confirmation by
email that it works elsewhere.

It would probably be enough to remove the call to
__rtl8169_set_mac_addr() in rtl8169_hw_start() though."

See also

http://bugzilla.kernel.org/show_bug.cgi?id=6032

Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

-38
-38
drivers/net/r8169.c
··· 1397 1397 } 1398 1398 #endif 1399 1399 1400 - static void __rtl8169_set_mac_addr(struct net_device *dev, void __iomem *ioaddr) 1401 - { 1402 - unsigned int i, j; 1403 - 1404 - RTL_W8(Cfg9346, Cfg9346_Unlock); 1405 - for (i = 0; i < 2; i++) { 1406 - __le32 l = 0; 1407 - 1408 - for (j = 0; j < 4; j++) { 1409 - l <<= 8; 1410 - l |= dev->dev_addr[4*i + j]; 1411 - } 1412 - RTL_W32(MAC0 + 4*i, cpu_to_be32(l)); 1413 - } 1414 - RTL_W8(Cfg9346, Cfg9346_Lock); 1415 - } 1416 - 1417 - static int rtl8169_set_mac_addr(struct net_device *dev, void *p) 1418 - { 1419 - struct rtl8169_private *tp = netdev_priv(dev); 1420 - struct sockaddr *addr = p; 1421 - 1422 - if (!is_valid_ether_addr(addr->sa_data)) 1423 - return -EINVAL; 1424 - 1425 - memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 1426 - 1427 - if (netif_running(dev)) { 1428 - spin_lock_irq(&tp->lock); 1429 - __rtl8169_set_mac_addr(dev, tp->mmio_addr); 1430 - spin_unlock_irq(&tp->lock); 1431 - } 1432 - return 0; 1433 - } 1434 - 1435 1400 static void rtl8169_release_board(struct pci_dev *pdev, struct net_device *dev, 1436 1401 void __iomem *ioaddr) 1437 1402 { ··· 1646 1681 dev->stop = rtl8169_close; 1647 1682 dev->tx_timeout = rtl8169_tx_timeout; 1648 1683 dev->set_multicast_list = rtl8169_set_rx_mode; 1649 - dev->set_mac_address = rtl8169_set_mac_addr; 1650 1684 dev->watchdog_timeo = RTL8169_TX_TIMEOUT; 1651 1685 dev->irq = pdev->irq; 1652 1686 dev->base_addr = (unsigned long) ioaddr; ··· 1892 1928 1893 1929 /* Enable all known interrupts by setting the interrupt mask. */ 1894 1930 RTL_W16(IntrMask, rtl8169_intr_mask); 1895 - 1896 - __rtl8169_set_mac_addr(dev, ioaddr); 1897 1931 1898 1932 netif_start_queue(dev); 1899 1933 }