[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#407217: Multicast broken in r8169 for one version of Thecus N2100



On Sat, 2010-05-01 at 23:13 +0200, Moritz Muehlenhoff wrote:
> On Sun, Mar 07, 2010 at 03:50:37PM +0000, Ben Hutchings wrote:
> > On Sun, 2010-03-07 at 20:48 +0600, Mikhail Gusarov wrote:
> > > Twas brillig at 14:41:10 07.03.2010 UTC+00 when tbm@cyrius.com did
> > > gyre and gimble:
> > > 
> > >  >> Just tested it. Works fine here (mDNS resolves without promisc mode
> > >  >> on interface), thanks.
> > > 
> > >  MM> Good to hear!  That patch also included some debugging output.  Can
> > >  MM> you please send the output from "dmesg"?
> > > 
> > > Attached.
> > > 
> > > [looking at dmesg: wow, looks like I just found wireless card I lost
> > > some time ago - it's mini-PCI slot in NAS :]
> > [...]
> > > [  424.350000] device eth0 left promiscuous mode
> > > [  424.350000] rtl_set_rx_mode: mc_filter = { 0x80088000, 0x40004000 }
> > > [  424.350000] rtl_set_rx_mode: MAR = 0x4000400040004000
> > > [  424.350000] rtl_set_rx_mode: MAR = 0x4000400080088000 
> > [...]
> > 
> > As I suspected, writing the high bits also changes the low bits so we
> > must write high before low.
> > 
> > The next question is whether doing that works for all r8169 variants or
> > whether it needs to be conditional.
> 
> Has this been forwarded to netdev@vger.kernel.org already?

It has, and it has even been fixed upstream:

commit 78f1cd02457252e1ffbc6caa44a17424a45286b8
Author: Francois Romieu <romieu@fr.zoreil.com>
Date:   Sat Mar 27 19:35:46 2010 -0700

    r8169: fix broken register writes

Sorry for not keeping this bug up-to-date.

This change has not yet been part of any upstream release and I would
like to wait until it is, to see whether this change causes a regression
for other chips handled by the driver.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: