Re: [PATCH/RFC 2/2] usb: gadget: u_ether: Don't change endpoint status in eth_stop()

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

 



On Thu, Aug 9, 2012 at 1:26 AM, Felipe Balbi <balbi@xxxxxx> wrote:
> I have applied this one instead:
>
> commit a3ab51013e6af38b3e2f9f20bf469cf8c595391b
> Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
> Date:   Wed Aug 8 11:48:10 2012 +0200
>
>     usb: gadget: u_ether: fix kworker 100% CPU issue with still used interfaces in eth_stop
>
>     This patch fixes an issue introduced by patch:
>
>         72c973d usb: gadget: add usb_endpoint_descriptor to struct usb_ep
>
>     Without this patch we see a kworker taking 100% CPU, after this sequence:
>
>     - Connect gadget to a windows host
>     - load g_ether
>     - ifconfig up <ip>; ifconfig down; ifconfig up
>     - ping <windows host>
>
>     The "ifconfig down" results in calling eth_stop(), which will call
>     usb_ep_disable() and, if the carrier is still ok, usb_ep_enable():
[snip]
> does it solve the issue you found ?

I have verified that it solves the simple up/down/up kworker hang,
which was the only problem I actually saw on my board.  So for that
problem:

Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx>


I'm not sure if it solves the various other (hypothetical?) races in
u_ether between up/down and connect/disconnect.  It might be
interesting to run ifconfig up/down in a loop overnight, while
toggling VBUS every couple of seconds.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux