NetBSD-Bugs archive

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

Re: port-evbarm/54696



The following reply was made to PR port-evbarm/54696; it has been noted by GNATS.

From: David Hopper <dhop%nwlink.com@localhost>
To: "gnats-bugs%netbsd.org@localhost" <gnats-bugs%NetBSD.org@localhost>
Cc: 
Subject: Re: port-evbarm/54696
Date: Thu, 21 Nov 2019 21:27:38 -0800

 While it's not at all clear that it's the correct solution, I can =
 confirm that wrapping the usb_syncmem call in =
 sys/external/bsd/dwc2/dwc2.c with a (len !=3D 0) conditional does get me =
 farther-- I can play an audio file albeit with a lot of latency and =
 chatter.  I'm seeing a lot of buffer, latency and stability issues on =
 the ARM platform overall (earm7hf and aarch64, 8.1 and -current) and I'm =
 working to get proper PRs together.
 
 With the (len !=3D 0) change in place I get a lot of these when trying =
 to play a file either through oss or sunau (using sox/play), or through =
 JACK with puredata using either driver.
 
 [ ... ]
 [   872.070942] autoconfiguration error: uaudio_chan_pintr: count(40) !=3D=
  size(1920)
 [   872.090944] autoconfiguration error: uaudio_chan_pintr: count(40) !=3D=
  size(1920)
 [   872.100946] autoconfiguration error: uaudio_chan_pintr: count(40) !=3D=
  size(1920)
 [ ... ]
 
 All the while the sound is... not good, lots of latency, garble and =
 chatter.  Then another panic when breaking out of an active audio =
 stream.  I'll include it here but this probably needs a new PR.
 
 [ 994.6072343] Mutex error: assert_sleepable,70: spin lock held
 [ 994.6072343] lock address : 0xffff00003924d050 type     :              =
  spin
 [ 994.6072343] initialized  : 0xffffffc00021abc4
 [ 994.6072343] shared holds :                  0 exclusive:              =
     1
 [ 994.6072343] shares wanted:                  0 exclusive:              =
     0
 [ 994.6072343] current cpu  :                  0 last held:              =
     0
 [ 994.6072343] current lwp  : 0xffff00003980d040 last held: =
 0xffff00003980d040
 [ 994.6072343] last locked* : 0xffffffc000213ed4 unlocked : =
 0xffffffc000213ee8
 [ 994.6072343] owner field  : 0x0000000000010500 wait/spin:              =
   0/1
 [ 994.6688497] panic: LOCKDEBUG: Mutex error: assert_sleepable,70: spin =
 lock held
 [ 994.6688497] cpu0: Begin traceback...
 [ 994.6688497] trace fp ffffffc031877820
 [ 994.6688497] fp ffffffc031877840 vpanic() at ffffffc0003665f8 =
 netbsd:vpanic+0x198
 [ 994.6688497] fp ffffffc0318778a0 panic() at ffffffc0003666c8 =
 netbsd:panic+0x48
 [ 994.6688497] fp ffffffc031877930 lockdebug_abort1() at =
 ffffffc00035ae68 netbsd:lockdebug_abort1+0xe8
 [ 994.6688497] fp ffffffc031877980 assert_sleepable() at =
 ffffffc00030e5b0 netbsd:assert_sleepable+0x50
 [ 994.6688497] fp ffffffc0318779c0 usb_allocmem_flags() at =
 ffffffc000051738 netbsd:usb_allocmem_flags+0x30
 [ 994.6688497] fp ffffffc031877a20 dwc2_assign_and_init_hc() at =
 ffffffc000218c64 netbsd:dwc2_assign_and_init_hc+0x48c
 [ 994.6688497] fp ffffffc031877aa0 dwc2_hcd_select_transactions() at =
 ffffffc000219ac0 netbsd:dwc2_hcd_select_transactions+0xc0
 [ 994.6688497] fp ffffffc031877b10 dwc2_release_channel() at =
 ffffffc00021c6d8 netbsd:dwc2_release_channel+0xd8
 [ 994.6688497] fp ffffffc031877b40 dwc2_hc_xfercomp_intr() at =
 ffffffc00021d55c netbsd:dwc2_hc_xfercomp_intr+0x234
 [ 994.6688497] fp ffffffc031877b90 dwc2_handle_hcd_intr() at =
 ffffffc00021e450 netbsd:dwc2_handle_hcd_intr+0x548
 [ 994.6688497] fp ffffffc031877c00 dwc2_intr() at ffffffc000213f28 =
 netbsd:dwc2_intr+0x80
 [ 994.6688497] fp ffffffc031877c30 pic_dispatch() at ffffffc0000028d0 =
 netbsd:pic_dispatch+0x28
 [ 994.6688497] fp ffffffc031877c60 pic_do_pending_ints() at =
 ffffffc000002de8 netbsd:pic_do_pending_ints+0x3a8
 [ 994.6688497] fp ffffffc031877e18 cpu_idle() at ffffffc000028164 =
 netbsd:cpu_idle+0x3c
 [ 994.6688497] fp ffffffc031877e60 idle_loop() at ffffffc0003091a0 =
 netbsd:idle_loop+0x1b0
 
 Thanks,
 David
 


Home | Main Index | Thread Index | Old Index