Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#12123 - forcedeth requires reversed MAC-Address to wake-on-lan

Attached to Project: Arch Linux
Opened by Tai Chi Minh Ralph Eastwood (Raedwulf) - Friday, 14 November 2008, 17:53 GMT
Last edited by Aaron Griffin (phrakture) - Wednesday, 11 February 2009, 17:44 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture All
Severity Medium
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
The forcedeth driver stores the MAC Address backups for wake-on-lan.

Additional info:
All kernel versions.

Fix available: http://lkml.org/lkml/2008/1/3/418

Patch here:
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index a96583c..f84c752 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5199,10 +5199,6 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
dev->dev_addr[3] = (np->orig_mac[0] >> 16) & 0xff;
dev->dev_addr[4] = (np->orig_mac[0] >> 8) & 0xff;
dev->dev_addr[5] = (np->orig_mac[0] >> 0) & 0xff;
- /* set permanent address to be correct aswell */
- np->orig_mac[0] = (dev->dev_addr[0] << 0) + (dev->dev_addr[1] << 8) +
- (dev->dev_addr[2] << 16) + (dev->dev_addr[3] << 24);
- np->orig_mac[1] = (dev->dev_addr[4] << 0) + (dev->dev_addr[5] << 8);
writel(txreg|NVREG_TRANSMITPOLL_MAC_ADDR_REV, base + NvRegTransmitPoll);
}
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
@@ -5414,6 +5410,8 @@ static void __devexit nv_remove(struct pci_dev *pci_dev)
*/
writel(np->orig_mac[0], base + NvRegMacAddrA);
writel(np->orig_mac[1], base + NvRegMacAddrB);
+ writel(readl(base + NvRegTransmitPoll) & ~NVREG_TRANSMITPOLL_MAC_ADDR_REV,
+ base + NvRegTransmitPoll);

/* free all structures */
free_rings(dev);

Steps to reproduce:
Shut down, and attempt to wake-on-lan the system.
Works for typing the MAC-Address backwards.
This task depends upon

Closed by  Aaron Griffin (phrakture)
Wednesday, 11 February 2009, 17:44 GMT
Reason for closing:  Not a bug
Comment by Glenn Matthys (RedShift) - Friday, 05 December 2008, 21:43 GMT
I think this is fixed in 2.6.27.8 (http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.27.y.git;a=commit;h=f55c21fd9a92a444e55ad1ca4e4732d56661bf2e). 2.6.27.8 hasn't been released yet though.
Comment by Tobias Powalowski (tpowa) - Monday, 08 December 2008, 21:16 GMT
your mentioned patch is ages ago and already included in .27 series, the one from the original reporter is not included

Loading...