[tulip] Linksys LNE100TX on PowerPC system works only in promiscuous mode?
Gregorio Gervasio Jr.
gtgj@pacbell.net
09 Mar 2001 01:07:58 -0800
>>>>> On Thu, 08 Mar 2001 18:44:03 -0500 (EST), Donald Becker <becker@scyld.com> said:
[...]
> d> Please try the following change around line 710
> d> } else if (chip_idx == COMET) {
> d> /* No need to read the EEPROM. */
> d> - put_unaligned(inl(ioaddr + 0xA4), (u32 *)dev->dev_addr);
> d> - put_unaligned(inl(ioaddr + 0xA8), (u16 *)(dev->dev_addr + 4));
> d> + put_unaligned(le32_to_cpu(inl(ioaddr + 0xA4)),
> d> (u32 *)dev->dev_addr);
> d> put_unaligned(le16_to_cpu(inl(ioaddr + 0xA8)),
> d> (u16 *)(dev->dev_addr + 4));
> d> for (i = 0; i < 6; i ++)
> d> sum += dev->dev_addr[i];
d> Doh!
d> First, note that there are two modified statements (four new lines)
d> above. I wrote it as if there was only one replacement line.
I thought that was what you intended so I forgot to mention
that I did add all four lines.
[...]
d> Lets try fixing line 1460
d> if (tp->flags & MC_HASH_ONLY) {
d> u32 addr_low = cpu_to_le32(get_unaligned((u32 *)dev->dev_addr));
d> - u32 addr_high = cpu_to_le32(get_unaligned((u16 *)(dev->dev_addr+4)));
d> + u32 addr_high = cpu_to_le16(get_unaligned((u16 *)(dev->dev_addr+4)));
This seems to have done the trick. I haven't done any speed
testing yet but it's working now. Thank you very much!
Gregorio Gervasio, Jr.
gtgj@pacbell.net