Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: NetXen: Fix hardware access for ppc architecture. sis190: new PHY support atl1: save mac address on remove
This commit is contained in:
commit
efab03d998
|
@ -2320,6 +2320,16 @@ static void __devexit atl1_remove(struct pci_dev *pdev)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
adapter = netdev_priv(netdev);
|
adapter = netdev_priv(netdev);
|
||||||
|
|
||||||
|
/* Some atl1 boards lack persistent storage for their MAC, and get it
|
||||||
|
* from the BIOS during POST. If we've been messing with the MAC
|
||||||
|
* address, we need to save the permanent one.
|
||||||
|
*/
|
||||||
|
if (memcmp(adapter->hw.mac_addr, adapter->hw.perm_mac_addr, ETH_ALEN)) {
|
||||||
|
memcpy(adapter->hw.mac_addr, adapter->hw.perm_mac_addr, ETH_ALEN);
|
||||||
|
atl1_set_mac_addr(&adapter->hw);
|
||||||
|
}
|
||||||
|
|
||||||
iowrite16(0, adapter->hw.hw_addr + REG_GPHY_ENABLE);
|
iowrite16(0, adapter->hw.hw_addr + REG_GPHY_ENABLE);
|
||||||
unregister_netdev(netdev);
|
unregister_netdev(netdev);
|
||||||
pci_iounmap(pdev, adapter->hw.hw_addr);
|
pci_iounmap(pdev, adapter->hw.hw_addr);
|
||||||
|
|
|
@ -438,6 +438,7 @@ do_rom_fast_read_words(struct netxen_adapter *adapter, int addr,
|
||||||
|
|
||||||
for (addridx = addr; addridx < (addr + size); addridx += 4) {
|
for (addridx = addr; addridx < (addr + size); addridx += 4) {
|
||||||
ret = do_rom_fast_read(adapter, addridx, (int *)bytes);
|
ret = do_rom_fast_read(adapter, addridx, (int *)bytes);
|
||||||
|
*(int *)bytes = cpu_to_le32(*(int *)bytes);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
break;
|
break;
|
||||||
bytes += 4;
|
bytes += 4;
|
||||||
|
@ -497,7 +498,7 @@ static inline int do_rom_fast_write_words(struct netxen_adapter *adapter,
|
||||||
int timeout = 0;
|
int timeout = 0;
|
||||||
int data;
|
int data;
|
||||||
|
|
||||||
data = *(u32*)bytes;
|
data = le32_to_cpu((*(u32*)bytes));
|
||||||
|
|
||||||
ret = do_rom_fast_write(adapter, addridx, data);
|
ret = do_rom_fast_write(adapter, addridx, data);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
|
|
@ -324,6 +324,7 @@ static struct mii_chip_info {
|
||||||
u32 feature;
|
u32 feature;
|
||||||
} mii_chip_table[] = {
|
} mii_chip_table[] = {
|
||||||
{ "Broadcom PHY BCM5461", { 0x0020, 0x60c0 }, LAN, F_PHY_BCM5461 },
|
{ "Broadcom PHY BCM5461", { 0x0020, 0x60c0 }, LAN, F_PHY_BCM5461 },
|
||||||
|
{ "Broadcom PHY AC131", { 0x0143, 0xbc70 }, LAN, 0 },
|
||||||
{ "Agere PHY ET1101B", { 0x0282, 0xf010 }, LAN, 0 },
|
{ "Agere PHY ET1101B", { 0x0282, 0xf010 }, LAN, 0 },
|
||||||
{ "Marvell PHY 88E1111", { 0x0141, 0x0cc0 }, LAN, F_PHY_88E1111 },
|
{ "Marvell PHY 88E1111", { 0x0141, 0x0cc0 }, LAN, F_PHY_88E1111 },
|
||||||
{ "Realtek PHY RTL8201", { 0x0000, 0x8200 }, LAN, 0 },
|
{ "Realtek PHY RTL8201", { 0x0000, 0x8200 }, LAN, 0 },
|
||||||
|
|
Loading…
Reference in a new issue