Re: Problem found: kaweth fails to work on 2.6.12-rc[456]

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

 



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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux