forked from Minki/linux
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;
|
||||
|
||||
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);
|
||||
unregister_netdev(netdev);
|
||||
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) {
|
||||
ret = do_rom_fast_read(adapter, addridx, (int *)bytes);
|
||||
*(int *)bytes = cpu_to_le32(*(int *)bytes);
|
||||
if (ret != 0)
|
||||
break;
|
||||
bytes += 4;
|
||||
@ -497,7 +498,7 @@ static inline int do_rom_fast_write_words(struct netxen_adapter *adapter,
|
||||
int timeout = 0;
|
||||
int data;
|
||||
|
||||
data = *(u32*)bytes;
|
||||
data = le32_to_cpu((*(u32*)bytes));
|
||||
|
||||
ret = do_rom_fast_write(adapter, addridx, data);
|
||||
if (ret < 0)
|
||||
|
@ -324,6 +324,7 @@ static struct mii_chip_info {
|
||||
u32 feature;
|
||||
} mii_chip_table[] = {
|
||||
{ "Broadcom PHY BCM5461", { 0x0020, 0x60c0 }, LAN, F_PHY_BCM5461 },
|
||||
{ "Broadcom PHY AC131", { 0x0143, 0xbc70 }, LAN, 0 },
|
||||
{ "Agere PHY ET1101B", { 0x0282, 0xf010 }, LAN, 0 },
|
||||
{ "Marvell PHY 88E1111", { 0x0141, 0x0cc0 }, LAN, F_PHY_88E1111 },
|
||||
{ "Realtek PHY RTL8201", { 0x0000, 0x8200 }, LAN, 0 },
|
||||
|
Loading…
Reference in New Issue
Block a user