Current-Users archive

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

Re: Anyone using an ASIX AX88172 USB Ethernet interface?



On Sat, Jun 12, 2010 at 07:17:22PM -0700, Paul Goyette wrote:
> I'm in the process of updating this driver from the current OpenBSD 
> sources, and while trying to debug my updates, I ran tcpdump on the 
> interface.  Then I ran ifconfig and it promptly locked up, hanging in 
> tstile.
> 
> It seems that there's a missing call to axe_unlock_mii() in axe_setmulti 
> (which is called as part of putting the interface into promiscuous mode 
> for tcpdump).
> 
> If someone could verify that this bug exists on their system, too, I'd 
> appreciate it.

I have this tstile problem with dhcpcd and the new driver from FUKAUMI Naoki
and wasn't sure what is causing this so I didn't provide more feedback for
it. I thought this was not related to his changes since manually configuring
worked fine.

> The following patch should fix the bug.  I will commit it if anyone
> provides verification, otherwise it will be part of my updated driver
> when I finish.

FUKAUMI Naoki <fun%naobsd.org@localhost> allready send patches with support
for AX88772/AX88178 to tech-net%NetBSD.org.@localhost Both netbsd-5 and current
are on http://www.naobsd.org/porting/

I will try the patch from you when i have the time for it.

Bernd

> Index: if_axe.c
> ===================================================================
> RCS file: /cvsroot/src/sys/dev/usb/if_axe.c,v
> retrieving revision 1.32
> diff -u -p -r1.32 if_axe.c
> --- if_axe.c    5 Apr 2010 07:21:48 -0000       1.32
> +++ if_axe.c    13 Jun 2010 02:15:31 -0000
> @@ -347,9 +347,10 @@ axe_setmulti(struct axe_softc *sc)
>       rxmode = le16toh(rxmode);
> 
>       if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) 
> {
> -     allmulti:
> +allmulti:
>               rxmode |= AXE_RXCMD_ALLMULTI;
>               axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL);
> +             axe_unlock_mii(sc);
>               return;
>       } else
>               rxmode &= ~AXE_RXCMD_ALLMULTI;
> 
> 




Home | Main Index | Thread Index | Old Index