Current-Users archive

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

Anyone using an ASIX AX88172 USB Ethernet interface?



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.

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.

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;




-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer |                          | pgoyette at netbsd.org  |
-------------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index