Re: USB client crash on Vybrid with USB gadget RNDIS connection

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

 



On Fri, Sep 18, 2015 at 10:47:17AM +0100, Felipe Tonello wrote:
> Hi Peter,
> 
> On Fri, Sep 18, 2015 at 6:39 AM, Peter Chen <peter.chen@xxxxxxxxxxxxx> wrote:
> > On Wed, Sep 16, 2015 at 02:48:50PM +0530, maitysanchayan@xxxxxxxxx wrote:
> >> On 15-09-16 15:54:21, Peter Chen wrote:
> >> > On Wed, Sep 16, 2015 at 02:18:49PM +0530, maitysanchayan@xxxxxxxxx wrote:
> >> > > Hello Peter,
> >> > >
> >> > > >
> >> > > > Enable CONFIG_DEBUG_LIST, it has below position if you
> >> > > > run make menuconfig
> >> > > > Kernel hacking  --->
> >> > > > [*] Debug linked list manipulation
> >> > > >
> >> > >
> >> > > Sorry for the delay. When I enabled this config the first time my test
> >> > > application ran for 24 hours or so and I did not get any stack traces.
> >> > >
> >> > > I restarted the test again and finally got the trace below. You were
> >> > > spot on, its a list corruption issue. I modified the trace a bit after
> >> > > copying to remove the sprinkled debug messages throughout the trace
> >> > > from my test application.
> >> > >
> >> > > [  622.204134] WARNING: CPU: 0 PID: 0 at lib/list_debug.c:59 __list_del_entry+0xc4/0xe8()
> >> > > [  622.212870] list_del corruption. prev->next should be 8db63600, but was 36008db6
> >> >
> >> > You see the higher 16 bits were swapped with lower 16 bits, and the
> >> > virtual memory address should begin from 0x8xxxxxxxx, right?
> >>
> >> Yes, I saw that but beats me how this happens.
> >>
> >> >
> >> > Check with Vybrid errata to see if all ARM/memory system have applied.
> >>
> >> What do you mean by "all ARM/memory system have applied" ? I checked with the Vybrid errata
> >> and I do not see anything related.
> >>
> >
> > Just system level errata, like ARM Cortex A5, memory (L1/L2 Cache), etc.
> >
> > Would you please do more tests to see if the error pattern is always
> > the same? And print the address to store prev-next.
> 
> This looks exactly the same error I am having with MIDI gadget. In my
> case in the udc driver the add_td_to_list() is returning an error
> after a dma_pool_alloc() failed. In this case I believe is something
> related to f_midi not releasing properly the usb request.
> 

I don't think it is the same, this case is memory corruption, you can
try to enable linked list debug to see if it is the same.

Kernel hacking  --->
[*] Debug linked list manipulation

Besides, try to enable some memory debug options and see if there are
some hints for us.

-- 

Best Regards,
Peter Chen
--
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