Am Sonntag, 12. Juni 2005 15:05 schrieb Wakko Warner:
> Oliver Neukum wrote:
> > Am Sonntag, 12. Juni 2005 02:41 schrieb Wakko Warner:
> > > After doing some testing, I believe a patch that went into rc4 broke 
> > > kaweth.
> > > The kaweth driver itself did not change from rc2 through rc6.
> > > 
> > > As a test, I reverted a patch that went into rc4 which modified
> > > net/core/link_watch.c.  Once I compiled the kernel, my netgear EA101 works
> > > again.
> > > 
> > > The above is not cut'n'paste.  There was 1 other addition (an include) 
> > > that
> > > I removed from the patch inorder to revert it.  The patch above was 
> > > applied
> > > to 2.6.12-rc6 using -Rp1.  This is why I believe that kaweth is broken. 
> > > With my limited understanding of the kernel, it would appear that kaweth
> > > doesn't support netif_carrier_ok properly.  
> > > Anyway, I found what caused it to break, but at this point, I do not have
> > > the required knowledge to do a proper fix.
> > 
> > static void int_callback(struct urb *u, struct pt_regs *regs)
> > is supposed to handle the link state. Maybe it fails in your case. Could you
> > add a printk to this callback to check linkstate?
> 
> I don't believe my case is very specific.  I've tested this on 4 different
> systems with totally different configs.  If it is at all specific, I believe
> it would be with the network adapter itself.  I don't have any other usb
> adapters that use kaweth.
> 
> Can you tell me where I need to add the printks?

In static void int_callback(struct urb *u, struct pt_regs *regs):

        /* we check the link state to report changes */
        if (kaweth->linkstate != (act_state = ( kaweth->intbuffer[STATE_OFFSET] 
| STATE_MASK) >> STATE_SHIFT)) {
<------- HERE please a printk for detecting a link state change
                if (!act_state)
                        netif_carrier_on(kaweth->net);
                else
                        netif_carrier_off(kaweth->net);

                kaweth->linkstate = act_state;
        }

<----------- HERE the value of linkstate is important
resubmit:
        kaweth_resubmit_int_urb(kaweth, GFP_ATOMIC);

        Regards
                Oliver


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to