On Thu, Apr 16, 2009 at 05:43:10PM -0700, David Miller wrote: > From: "Rafael J. Wysocki" <rjw@xxxxxxx> > Date: Thu, 16 Apr 2009 23:45:05 +0200 (CEST) > > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=13111 > > Subject : Linux 2.6.30-rc1 tg3 endian issues with MAC addresses on BCM5701 > > Submitter : Robin Holt <holt@xxxxxxx> > > Date : 2009-04-08 7:12 (9 days old) > > First-Bad-Commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4f341103e4a2b35f56a0f89802f1b1448e8d04b > > References : http://marc.info/?l=linux-kernel&m=123917477312823&w=4 > > Handled-By : Matt Carlson <mcarlson@xxxxxxxxxxxx> > > We're half-way to a fix for this, see the commit below. > > But we're not completely finished, so keep this entry open. Actually, I think we do have a fix for this. James and Robin both reported that the test patch I sent out worked for them. I'm preparing a patchset for submission now. James, Robin, can you confirm that you performed your tests with David's patch reverted? > commit 0d489ffb76de0fe804cf06a9d4d11fa7342d74b9 > Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Date: Mon Apr 13 14:31:51 2009 -0700 > > tg3: fix big endian MAC address collection failure > > We noticed on parisc that our broadcoms all swapped MAC addresses going > from 2.6.29 to 2.6.30-rc1: > > Apr 11 07:48:24 ion kernel: eth0: Tigon3 [partno(BCM95700A6) rev 0105] (PCI:66MHz:64-bit) MAC address 00:30:6e:4b:15:59 > Apr 13 07:34:34 ion kernel: eth0: Tigon3 [partno(BCM95700A6) rev 0105] (PCI:66MHz:64-bit) MAC address 00:00:59:15:4b:6e > > The problem patch is: > > commit 6d348f2c1e0bb1cf7a494b51fc921095ead3f6ae > Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> > Date: Wed Feb 25 14:25:52 2009 +0000 > > tg3: Eliminate tg3_nvram_read_swab() > > With the root cause being the use of memcpy to set the mac address: > > memcpy(&dev->dev_addr[0], ((char *)&hi) + 2, 2); > memcpy(&dev->dev_addr[2], (char *)&lo, sizeof(lo)); > > This might work on little endian machines, but it can't on big endian > ones. You have to use the original setting mechanism to be correct on > all architectures. > > The attached patch fixes parisc. > > Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> > -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html