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 Mittwoch, 15. Juni 2005 03:02 schrieb Wakko Warner:
> Here's my modified int_callback:
> static void int_callback(struct urb *u, struct pt_regs *regs)
> {
>         struct kaweth_device *kaweth = u->context;
>         int act_state;
> 
> printk(KERN_INFO "kaweth: begin callback\n");
> printk(KERN_INFO "kaweth: u->status: %d\n", u->status);
>         switch (u->status) {
>         case 0:                 /* success */
>                 break;
>         case -ECONNRESET:       /* unlink */
>         case -ENOENT:   
>         case -ESHUTDOWN:
>                 return;
>         /* -EPIPE:  should clear the halt */
>         default:                /* error */
>                 goto resubmit;
>         }
> 
>         /* we check the link state to report changes */
>         if (kaweth->linkstate != (act_state = ( kaweth->intbuffer[STATE_OFFSET]
> printk(KERN_INFO "kaweth: Link state change.  kaweth->linkstate: %d act_state:
>         kaweth->linkstate, act_state);
>                 if (!act_state) {
> printk(KERN_INFO "kaweth: netif_carrier_on\n");
>                         netif_carrier_on(kaweth->net);
>                 } else {
> printk(KERN_INFO "kaweth: netif_carrier_off\n");
>                         netif_carrier_off(kaweth->net);
>                 }
> 
>                 kaweth->linkstate = act_state;
> printk(KERN_INFO "kaweth: new link state: %d\n", act_state);
>         }
> resubmit:
>         kaweth_resubmit_int_urb(kaweth, GFP_ATOMIC);
> printk(KERN_INFO "kaweth: end callback\n");
> }

Very well.

> Results (after ifconfig up, ethernet cable was plugged in at the time):
> Jun 14 20:50:25 gonzales kernel: [80756.691742] kaweth: begin callback
> Jun 14 20:50:25 gonzales kernel: [80756.691754] kaweth: u->status: 0
> Jun 14 20:50:25 gonzales kernel: [80756.691759] kaweth: Link state change.  kaweth->linkstate: 0 act_state: 2
> Jun 14 20:50:25 gonzales kernel: [80756.691764] kaweth: netif_carrier_off

OK, that should not happen.

Could you remove the "!" at 'if (!act_state) {' and retest?
The documentation I got says that it should be there, but who knows
how accurate it is for all devices.

> Jun 14 20:50:25 gonzales kernel: [80756.691769] kaweth: new link state: 2
> Jun 14 20:50:25 gonzales kernel: [80756.691776] kaweth: end callback
> 
> the next thing was:
> Jun 14 20:50:25 gonzales kernel: [80756.819793] kaweth: begin callback
> Jun 14 20:50:25 gonzales kernel: [80756.819800] kaweth: u->status: 0
> Jun 14 20:50:25 gonzales kernel: [80756.819807] kaweth: end callback
> many times, last occurence:
> Jun 14 20:50:36 gonzales kernel: [80767.576134] kaweth: begin callback
> Jun 14 20:50:36 gonzales kernel: [80767.576143] kaweth: u->status: 0
> Jun 14 20:50:36 gonzales kernel: [80767.576157] kaweth: end callback
> 
> then I ifconfig down since it was spewing that information:
> Jun 14 20:50:36 gonzales kernel: [80767.618157] kaweth: begin callback
> Jun 14 20:50:36 gonzales kernel: [80767.618172] kaweth: u->status: -2
> 
> I assume it didn't print the end since the status was -2 (not sure what -2 is)

Killing the URB due to ifconfig.

	Thank you
		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