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!
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!
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
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
|
DetailsDescription:
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
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