tech-kern archive

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

Re: mos(4) port



Juraj Hercek wrote:
1) Sometimes the whole machine freezes completely when I do "ifconfig mos0 up". I compile kernel with LOCKDEBUG and DIAGNOSTIC, but there's no message on console... I've found out that when I put/enable some DPRINTFN() outputs, the lock up does not occur. I verified all spl{net,usb,...}() calls have their splx(s) counterparts... This occurs on i386 (single core) as well as amd64 (dual core). Do you have any tips what might be the cause of these freezes?

I have probably found the fix for the freezes, this diff might be the solution:

@@ -726,7 +727,6 @@ USB_ATTACH(mos)
        if_attach(ifp);
        Ether_ifattach(ifp, eaddr);
        usb_callout_init(sc->mos_stat_ch);
-       usb_callout(sc->mos_stat_ch, hz, mos_tick, sc);

        sc->mos_attached = 1;
        splx(s);
@@ -1281,7 +1281,6 @@ mos_init(void *xsc)

        splx(s);

-       usb_callout_init(sc->mos_stat_ch);
        usb_callout(sc->mos_stat_ch, hz, mos_tick, sc);

        return;

I didn't get the freezes as described above, more extensive testing will tell us whether it is ultimate fix or not. :)

2) If I overcome trouble mentioned in point (1) above (with couple of DPRINTFNs), I have issues with IPv4. After setting an ip address with "ifconfig mos0 <ip-address>" (where <ip-address> is any valid IPv4 address), I'm getting this as a response to "ping <ip-address>" command (on i386): arplookup1: unable to enter address for <ip-address>@40 on null (could not allocate llinfo)
arpresolve: can't allocate llinfo on mos0 for <ip-address>

I'll probably check the man pages in order to have better context for this problem. Unless anyone has better idea...

-- Juraj


Home | Main Index | Thread Index | Old Index