06 Sep, 2019
9 commits
-
[ Upstream commit e858faf556d4e14c750ba1e8852783c6f9520a0e ]
If an app is playing tricks to reuse a socket via tcp_disconnect(),
bytes_acked/received needs to be reset to 0. Otherwise tcp_info will
report the sum of the current and the old connection..Cc: Eric Dumazet
Fixes: 0df48c26d841 ("tcp: add tcpi_bytes_acked to tcp_info")
Fixes: bdd1f9edacb5 ("tcp: add tcpi_bytes_received to tcp_info")
Signed-off-by: Christoph Paasch
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit 1b200acde418f4d6d87279d3f6f976ebf188f272) -
[ Upstream commit 8d650cdedaabb33e85e9b7c517c0c71fcecc1de9 ]
Neal reported incorrect use of ns_capable() from bpf hook.
bpf_setsockopt(...TCP_CONGESTION...)
-> tcp_set_congestion_control()
-> ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)
-> ns_capable_common()
-> current_cred()
-> rcu_dereference_protected(current->cred, 1)Accessing 'current' in bpf context makes no sense, since packets
are processed from softirq context.As Neal stated : The capability check in tcp_set_congestion_control()
was written assuming a system call context, and then was reused from
a BPF call site.The fix is to add a new parameter to tcp_set_congestion_control(),
so that the ns_capable() call is only performed under the right
context.Fixes: 91b5b21c7c16 ("bpf: Add support for changing congestion control")
Signed-off-by: Eric Dumazet
Cc: Lawrence Brakmo
Reported-by: Neal Cardwell
Acked-by: Neal Cardwell
Acked-by: Lawrence Brakmo
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit c60f57dfe995172c2f01e59266e3ffa3419c6cd9) -
[ Upstream commit b617158dc096709d8600c53b6052144d12b89fab ]
Some applications set tiny SO_SNDBUF values and expect
TCP to just work. Recent patches to address CVE-2019-11478
broke them in case of losses, since retransmits might
be prevented.We should allow these flows to make progress.
This patch allows the first and last skb in retransmit queue
to be split even if memory limits are hit.It also adds the some room due to the fact that tcp_sendmsg()
and tcp_sendpage() might overshoot sk_wmem_queued by about one full
TSO skb (64KB size). Note this allowance was already present
in stable backports for kernels < 4.15Note for < 4.15 backports :
tcp_rtx_queue_tail() will probably look like :static inline struct sk_buff *tcp_rtx_queue_tail(const struct sock *sk)
{
struct sk_buff *skb = tcp_send_head(sk);return skb ? tcp_write_queue_prev(sk, skb) : tcp_write_queue_tail(sk);
}Fixes: f070ef2ac667 ("tcp: tcp_fragment() should apply sane memory limits")
Signed-off-by: Eric Dumazet
Reported-by: Andrew Prout
Tested-by: Andrew Prout
Tested-by: Jonathan Lemon
Tested-by: Michal Kubecek
Acked-by: Neal Cardwell
Acked-by: Yuchung Cheng
Acked-by: Christoph Paasch
Cc: Jonathan Looney
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit 6323c238bb4374d1477348cfbd5854f2bebe9a21) -
commit b6653b3629e5b88202be3c9abc44713973f5c4b4 upstream.
tcp_fragment() might be called for skbs in the write queue.
Memory limits might have been exceeded because tcp_sendmsg() only
checks limits at full skb (64KB) boundaries.Therefore, we need to make sure tcp_fragment() wont punish applications
that might have setup very low SO_SNDBUF values.Fixes: f070ef2ac667 ("tcp: tcp_fragment() should apply sane memory limits")
Signed-off-by: Eric Dumazet
Reported-by: Christoph Paasch
Tested-by: Christoph Paasch
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman(cherry picked from commit dad3a9314ac95dedc007bc7dacacb396ea10e376)
-
commit 967c05aee439e6e5d7d805e195b3a20ef5c433d6 upstream.
If mtu probing is enabled tcp_mtu_probing() could very well end up
with a too small MSS.Use the new sysctl tcp_min_snd_mss to make sure MSS search
is performed in an acceptable range.CVE-2019-11479 -- tcp mss hardcoded to 48
Signed-off-by: Eric Dumazet
Reported-by: Jonathan Lemon
Cc: Jonathan Looney
Acked-by: Neal Cardwell
Cc: Yuchung Cheng
Cc: Tyler Hicks
Cc: Bruce Curtis
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit 59222807fcc99951dc769cd50e132e319d73d699) -
commit 5f3e2bf008c2221478101ee72f5cb4654b9fc363 upstream.
Some TCP peers announce a very small MSS option in their SYN and/or
SYN/ACK messages.This forces the stack to send packets with a very high network/cpu
overhead.Linux has enforced a minimal value of 48. Since this value includes
the size of TCP options, and that the options can consume up to 40
bytes, this means that each segment can include only 8 bytes of payload.In some cases, it can be useful to increase the minimal value
to a saner value.We still let the default to 48 (TCP_MIN_SND_MSS), for compatibility
reasons.Note that TCP_MAXSEG socket option enforces a minimal value
of (TCP_MIN_MSS). David Miller increased this minimal value
in commit c39508d6f118 ("tcp: Make TCP_MAXSEG minimum more correct.")
from 64 to 88.We might in the future merge TCP_MIN_SND_MSS and TCP_MIN_MSS.
CVE-2019-11479 -- tcp mss hardcoded to 48
Signed-off-by: Eric Dumazet
Suggested-by: Jonathan Looney
Acked-by: Neal Cardwell
Cc: Yuchung Cheng
Cc: Tyler Hicks
Cc: Bruce Curtis
Cc: Jonathan Lemon
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit 7f9f8a37e563c67b24ccd57da1d541a95538e8d9) -
commit f070ef2ac66716357066b683fb0baf55f8191a2e upstream.
Jonathan Looney reported that a malicious peer can force a sender
to fragment its retransmit queue into tiny skbs, inflating memory
usage and/or overflow 32bit counters.TCP allows an application to queue up to sk_sndbuf bytes,
so we need to give some allowance for non malicious splitting
of retransmit queue.A new SNMP counter is added to monitor how many times TCP
did not allow to split an skb if the allowance was exceeded.Note that this counter might increase in the case applications
use SO_SNDBUF socket option to lower sk_sndbuf.CVE-2019-11478 : tcp_fragment, prevent fragmenting a packet when the
socket is already using more than half the allowed spaceSigned-off-by: Eric Dumazet
Reported-by: Jonathan Looney
Acked-by: Neal Cardwell
Acked-by: Yuchung Cheng
Reviewed-by: Tyler Hicks
Cc: Bruce Curtis
Cc: Jonathan Lemon
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit ec83921899a571ad70d582934ee9e3e07f478848) -
commit 3b4929f65b0d8249f19a50245cd88ed1a2f78cff upstream.
Jonathan Looney reported that TCP can trigger the following crash
in tcp_shifted_skb() :BUG_ON(tcp_skb_pcount(skb) < pcount);
This can happen if the remote peer has advertized the smallest
MSS that linux TCP accepts : 48An skb can hold 17 fragments, and each fragment can hold 32KB
on x86, or 64KB on PowerPC.This means that the 16bit witdh of TCP_SKB_CB(skb)->tcp_gso_segs
can overflow.Note that tcp_sendmsg() builds skbs with less than 64KB
of payload, so this problem needs SACK to be enabled.
SACK blocks allow TCP to coalesce multiple skbs in the retransmit
queue, thus filling the 17 fragments to maximal capacity.CVE-2019-11477 -- u16 overflow of TCP_SKB_CB(skb)->tcp_gso_segs
Fixes: 832d11c5cd07 ("tcp: Try to restore large SKBs while SACK processing")
Signed-off-by: Eric Dumazet
Reported-by: Jonathan Looney
Acked-by: Neal Cardwell
Reviewed-by: Tyler Hicks
Cc: Yuchung Cheng
Cc: Bruce Curtis
Cc: Jonathan Lemon
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit c09be31461ed140976c60a87364415454a2c3d42) -
[ Upstream commit 50ce163a72d817a99e8974222dcf2886d5deb1ae ]
For some reason, tcp_grow_window() correctly tests if enough room
is present before attempting to increase tp->rcv_ssthresh,
but does not prevent it to grow past tcp_space()This is causing hard to debug issues, like failing
the (__tcp_select_window(sk) >= tp->rcv_wnd) test
in __tcp_ack_snd_check(), causing ACK delays and possibly
slow flows.Depending on tcp_rmem[2], MTU, skb->len/skb->truesize ratio,
we can see the problem happening on "netperf -t TCP_RR -- -r 2000,2000"
after about 60 round trips, when the active side no longer sends
immediate acks.This bug predates git history.
Signed-off-by: Eric Dumazet
Acked-by: Soheil Hassas Yeganeh
Acked-by: Neal Cardwell
Acked-by: Wei Wang
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit 6728c6174a47b8a04ceec89aca9e1195dee7ff6b)
05 Sep, 2019
1 commit
-
Patch moves some decoding functions from driver/usb/dwc3/debug.h driver
to driver/usb/common/debug.c file. These moved functions include:
dwc3_decode_get_status
dwc3_decode_set_clear_feature
dwc3_decode_set_address
dwc3_decode_get_set_descriptor
dwc3_decode_get_configuration
dwc3_decode_set_configuration
dwc3_decode_get_intf
dwc3_decode_set_intf
dwc3_decode_synch_frame
dwc3_decode_set_sel
dwc3_decode_set_isoch_delay
dwc3_decode_ctrlThese functions are used also in inroduced cdns3 driver.
All functions prefixes were changed from dwc3 to usb.
Also, function's parameters has been extended according to the name
of fields in standard SETUP packet.
Additionally, patch adds usb_decode_ctrl function to
include/linux/usb/ch9.h file.Signed-off-by: Pawel Laszczak
(cherry picked from commit 046b47df488c6956b9a4420e684274cc0ca0fb70)
Signed-off-by: Leonard Crestez
Reviewed-by: Peter Chen
30 Aug, 2019
18 commits
-
When GST receives V4L2_EVENT_SOURCE_CHANGE, it calls g_fmt ioctl and
expects that the driver will report the pixel format.
So far, the driver was unable to distinguish, by looking at the jpeg
SOF marker, if an image is YUV444 or RGB24, both have 3 color components
and no subsampling.
Consider the colorspace is RGB if the transform flag from APP14 marker
segment has the value 0, in mxc_jpeg_parse, if needed, update the pixel
format from yuv444 to rgb24.Signed-off-by: Mirela Rabulea
Reviewed-by: Robert Chiras -
We find there is still EP0 request duirng EP0 configuration, and the
pointer for this request is incorrect. In this commit, we make sure
the EP0 request has deleted from the list at .udc_stop. If there is
still one EP0 request during .udc_start, we will show a warning. Below
oops is fixed by this change.[ 6339.760440] init: Sending signal 9 to service 'adbd' (pid 1878) process group...
[ 6339.780901] audit: audit_lost=111533 audit_rate_limit=5 audit_backlog_limit=64
[ 6339.788319] audit: rate limit exceeded
[ 6339.823842] libprocessgroup: Successfully killed process cgroup uid 0 pid 1878 in 54ms
[ 6339.832589] init: Service 'adbd' (pid 1878) received signal 9
[ 6339.839108] init: processing action (init.svc.adbd=stopped) from (/init.usb.configfs.rc:14)
[ 6340.002992] init: Received control message 'start' for 'adbd' from pid: 3324 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
[ 6340.023541] read descriptors
[ 6340.026452] read strings
[ 6340.927793] Unable to handle kernel paging request at virtual address 00020249
[ 6340.935026] Mem abort info:
[ 6340.937824] Exception class = DABT (current EL), IL = 32 bits
[ 6340.943747] SET = 0, FnV = 0
[ 6340.946805] EA = 0, S1PTW = 0
[ 6340.949949] Data abort info:
[ 6340.952834] ISV = 0, ISS = 0x00000044
[ 6340.956673] CM = 0, WnR = 1
[ 6340.959648] user pgtable: 4k pages, 48-bit VAs, pgd = ffff8008f0309000
[ 6340.966178] [0000000000020249] *pgd=0000000000000000
[ 6340.971151] Internal error: Oops: 96000044 [#1] PREEMPT SMP
[ 6340.976726] Modules linked in:
[ 6340.979789] CPU: 5 PID: 1910 Comm: usb@1.1-service Not tainted 4.14.98-07858-g3dd4133 #1
[ 6340.987888] Hardware name: Freescale i.MX8QM MEK (DT)
[ 6340.992945] task: ffff8008ee468e00 task.stack: ffff00000f1a8000
[ 6340.998884] PC is at cdns3_ep0_config+0x50/0xf0
[ 6341.003418] LR is at cdns3_ep0_config+0x40/0xf0
[ 6341.007949] pc : [] lr : [] pstate: 200001c5
[ 6341.015349] sp : ffff00000f1abc80
[ 6341.018668] x29: ffff00000f1abc80 x28: ffff8008ee468e00
[ 6341.023992] x27: ffff000009022000 x26: 0000000000000040
[ 6341.029318] x25: ffff00000f1abeb0 x24: ffff8008f05a4500
[ 6341.034635] x23: ffff8008f3929680 x22: 0000000000000040
[ 6341.039952] x21: 0000000000400001 x20: ffff00000f1f0000
[ 6341.045268] x19: ffff8008f2d22000 x18: 0000f7c42593c000
[ 6341.050585] x17: 0000f7c4258b17d0 x16: ffff00000829ecd8
[ 6341.055902] x15: 0000000000000000 x14: 0000000430060004
[ 6341.061219] x13: 0002010507010142 x12: ff02000004090002
[ 6341.066535] x11: 0002820507000200 x10: ffff8008eb685e68
[ 6341.071852] x9 : 0000000000000000 x8 : ffff8008ea9efd00
[ 6341.077168] x7 : 0000000000000000 x6 : 000000000000003f
[ 6341.082485] x5 : 0000000000000040 x4 : 0000000000000000
[ 6341.087802] x3 : 0000000000020241 x2 : 0000000000000000
[ 6341.093119] x1 : ffff8008f059d040 x0 : ffff8008f059d000
[ 6341.098438]
[ 6341.098438] X0: 0xffff8008f059cf80:
[ 6341.103405] cf80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.111623] cfa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.119842] cfc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.128051] cfe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.136261] d000 f059dc00 ffff8008 082a01f8 ffff0000 00000000 00000000 00000000 00000000
[ 6341.144479] d020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.152689] d040 00020241 00000000 00000000 00000000 00000000 00000000 f059d058 ffff8008
[ 6341.160898] d060 f059d058 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.169110]
[ 6341.169110] X1: 0xffff8008f059cfc0:
[ 6341.174077] cfc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.182287] cfe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.190496] d000 f059dc00 ffff8008 082a01f8 ffff0000 00000000 00000000 00000000 00000000
[ 6341.198706] d020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.206916] d040 00020241 00000000 00000000 00000000 00000000 00000000 f059d058 ffff8008
[ 6341.215126] d060 f059d058 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.223335] d080 00000000 00000000 00000000 00000000 f3647c00 ffff8008 00000000 00000000
[ 6341.231545] d0a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.239759]
[ 6341.239759] X8: 0xffff8008ea9efc80:
[ 6341.244724] fc80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.252934] fca0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.261145] fcc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.269371] fce0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.277580] fd00 6d766976 ffffffff 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.285790] fd20 00000000 00000000 00000000 00000000 ebbfb800 ffff8008 f7feee00 ffff8008
[ 6341.294000] fd40 f16a2980 ffff8008 f16a2300 ffff8008 00000000 00000000 00000000 00000000
[ 6341.302209] fd60 0000000d 00000006 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.310430]
[ 6341.310430] X10: 0xffff8008eb685de8:
[ 6341.315484] 5de8 00000000 00000000 00000000 00000000 00000000 00000000 f2d22010 ffff8008
[ 6341.323693] 5e08 00000000 00000000 00000000 00000000 eb685e18 ffff8008 eb685e18 ffff8008
[ 6341.331903] 5e28 4f894f89 00000000 ea9ef800 ffff8008 00000000 00000000 00000000 00000000
[ 6341.340113] 5e48 eb685e48 ffff8008 eb685e48 ffff8008 00000005 00000003 00000002 00000000
[ 6341.348323] 5e68 00000000 00010001 00000000 00000000 23df23df 00000000 eb685e80 ffff8008
[ 6341.356532] 5e88 eb685e80 ffff8008 00000003 00000000 316e316e 00000000 0fbcbdb8 ffff0000
[ 6341.364741] 5ea8 0fbcbdb8 ffff0000 00000000 00000000 f3b05b80 ffff8008 f2f2ce80 ffff8008
[ 6341.372952] 5ec8 eea86900 ffff8008 eea8691c ffff8008 00000074 00000003 00000003 00000005
[ 6341.381166]
[ 6341.381166] X19: 0xffff8008f2d21f80:
[ 6341.386217] 1f80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.394427] 1fa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.402637] 1fc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.410846] 1fe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.419057] 2000 f7540010 ffff8008 f7540010 ffff8008 00000000 00000000 f2d22018 ffff8008
[ 6341.427285] 2020 f2d22018 ffff8008 08a06998 ffff0000 f2d29800 ffff8008 091c3650 ffff0000
[ 6341.435502] 2040 f2d63218 ffff8008 f2d63330 ffff8008 f2d64030 ffff8008 00000000 00000005
[ 6341.443720] 2060 00000000 00000000 095d0150 ffff0000 f7540010 ffff8008 f2d64100 ffff8008
[ 6341.451932]
[ 6341.451932] X23: 0xffff8008f3929600:
[ 6341.456986] 9600 00000001 ffff8008 00010000 00000000 74737973 615f6d65 735f7070 63697274
[ 6341.465195] 9620 646f6d74 35314065 38333636 36303837 2e353432 00747874 00000000 00000000
[ 6341.473414] 9640 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.481632] 9660 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.489842] 9680 31316235 30303030 6273752e 00000033 00000000 00000000 f3929690 ffff8008
[ 6341.498051] 96a0 00000000 00000000 00000cfe 00000000 002010df 00000000 00000000 00000000
[ 6341.506261] 96c0 00000000 00000000 00000000 00000000 00000000 00000000 25401230 ffff0000
[ 6341.514470] 96e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.522683]
[ 6341.522683] X24: 0xffff8008f05a4480:
[ 6341.527737] 4480 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.535947] 44a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.544156] 44c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.552366] 44e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.560575] 4500 00000000 00000000 00000000 00000000 f7a338a0 ffff8008 6e038c00 ffff8000
[ 6341.568786] 4520 ec35b6a0 ffff8008 090571f0 ffff0000 00000000 00000000 00000002 00000000
[ 6341.577026] 4540 00028001 0005801e ee468e00 ffff8008 00000000 00000000 f05a4558 ffff8008
[ 6341.585248] 4560 f05a4558 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.593478]
[ 6341.593478] X28: 0xffff8008ee468d80:
[ 6341.598531] 8d80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.606740] 8da0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.614950] 8dc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.623160] 8de0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.631369] 8e00 00000022 00000000 ffffffff ffffffff 00000002 00000000 00000000 00000000
[ 6341.639579] 8e20 0f1a8000 ffff0000 00000002 00404040 00000000 00000000 f7acd438 ffff8008
[ 6341.647789] 8e40 00000001 00000005 0000003d 00000000 00170a04 00000001 f2f9e200 ffff8008
[ 6341.655998] 8e60 00000005 00000001 00000078 00000078 00000078 00000000 09031d48 ffff0000
[ 6341.664209]
[ 6341.665707] Process usb@1.1-service (pid: 1910, stack limit = 0xffff00000f1a8000)
[ 6341.673192] Call trace:
[ 6341.675644] Exception stack(0xffff00000f1abb40 to 0xffff00000f1abc80)
[ 6341.682092] bb40: ffff8008f059d000 ffff8008f059d040 0000000000000000 0000000000020241
[ 6341.689927] bb60: 0000000000000000 0000000000000040 000000000000003f 0000000000000000
[ 6341.697763] bb80: ffff8008ea9efd00 0000000000000000 ffff8008eb685e68 0002820507000200
[ 6341.705599] bba0: ff02000004090002 0002010507010142 0000000430060004 0000000000000000
[ 6341.713435] bbc0: ffff00000829ecd8 0000f7c4258b17d0 0000f7c42593c000 ffff8008f2d22000
[ 6341.721271] bbe0: ffff00000f1f0000 0000000000400001 0000000000000040 ffff8008f3929680
[ 6341.729107] bc00: ffff8008f05a4500 ffff00000f1abeb0 0000000000000040 ffff000009022000
[ 6341.736943] bc20: ffff8008ee468e00 ffff00000f1abc80 ffff0000089be364 ffff00000f1abc80
[ 6341.744779] bc40: ffff0000089be374 00000000200001c5 ffff8008f36abe00 0000000000000000
[ 6341.752615] bc60: 0000ffffffffffff ffff8008f36abe00 ffff00000f1abc80 ffff0000089be374
[ 6341.760459] [] cdns3_ep0_config+0x50/0xf0
[ 6341.766041] [] cdns3_gadget_config+0x18/0xb4
[ 6341.771878] [] cdns3_gadget_udc_start+0x40/0x60
[ 6341.777978] [] udc_bind_to_driver+0xc8/0x118
[ 6341.783814] [] usb_gadget_probe_driver+0xa0/0x12c
[ 6341.790087] [] gadget_dev_desc_UDC_store+0xc8/0x124
[ 6341.796536] [] configfs_write_file+0xe8/0x184
[ 6341.802457] [] vfs_write+0xb8/0x1d4
[ 6341.807513] [] SyS_write+0x50/0xb0
[ 6341.812480] Exception stack(0xffff00000f1abec0 to 0xffff00000f1ac000)
[ 6341.818928] bec0: 0000000000000014 0000f7c424dff219 000000000000000d 00000000000001b6
[ 6341.826764] bee0: 0000000000000000 0000f7c424dff008 0000000000000000 0000000000000000
[ 6341.834599] bf00: 0000000000000040 0000000000000000 000000000000000d 0000f7c424dff070
[ 6341.842436] bf20: 0000f7c424dff028 0000000000000bb0 0000f7c425400000 0000000000000000
[ 6341.850272] bf40: 0000f7c425e3ac28 0000f7c4258b17d0 0000f7c42593c000 000000000000000d
[ 6341.858108] bf60: 0000000000000014 0000f7c424dff219 0000000000088241 00000000000001b6
[ 6341.865944] bf80: 0000f7c424dff141 0000f7c424d02000 aaaaaaaaaaaaaaab 0000b23b75c123c8
[ 6341.873780] bfa0: 0000000000000022 0000f7c424dff060 0000f7c425e121b0 0000f7c424dff040
[ 6341.881617] bfc0: 0000f7c4258b17d8 0000000040000000 0000000000000014 0000000000000040
[ 6341.889452] bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 6341.897291] [] el0_svc_naked+0x34/0x38
[ 6341.902608] Code: b4000100 f9402003 91010001 f9402402 (f9000462)
[ 6341.908714] ---[ end trace b38490f7134cdbe8 ]---
[ 6341.913334] Kernel panic - not syncing: Fatal exception
[ 6341.918567] SMP: stopping secondary CPUs
[ 6341.922494] Kernel Offset: disabled
[ 6341.925983] CPU features: 0x180200c
[ 6341.929473] Memory Limit: none
[ 6341.932541] Rebooting in 5 seconds..Signed-off-by: Peter Chen
-
It fixed below oops:
audit: audit_lost=500851 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
libprocessgroup: Successfully killed process cgroup uid 0 pid 25371 in 49ms
init: Service 'adbd' (pid 25371) received signal 9
init: processing action (init.svc.adbd=stopped) from (/init.usb.configfs.rc:14)
init: Received control message 'start' for 'adbd' from pid: 3308 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: starting service 'adbd'...
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
read descriptors
read strings
init: Received control message 'start' for 'adbd' from pid: 3447 (system_server)
android_work: did not send uevent (0 0 (null))
audit: audit_lost=500888 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
audit: audit_lost=500925 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
using random self ethernet address
using random host ethernet address
read descriptors
read strings
usb0: HOST MAC 32:e7:67:29:5f:d8
usb0: MAC 02:5c:48:b3:2b:d7
android_work: sent uevent USB_STATE=CONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONFIGURED
Unable to handle kernel NULL pointer dereference at virtual address 00000002
Mem abort info:
Exception class = DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
Data abort info:
ISV = 0, ISS = 0x00000004
CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgd = ffff8008f7bed000
[0000000000000002] *pgd=0000000000000000
Internal error: Oops: 96000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 PID: 3326 Comm: Binder:3276_2 Not tainted 4.14.98-07848-gfb2a5a8 #1
Hardware name: Freescale i.MX8QM MEK (DT)
task: ffff8008f77f3800 task.stack: ffff00000b378000
PC is at __cdns3_gadget_ep_queue.isra.18+0x238/0x524
LR is at cdns3_gadget_ep_queue+0x44/0xd8
pc : [] lr : [] pstate: 400001c5
sp : ffff00000b37ba40
x29: ffff00000b37ba40 x28: ffff8008f235fa00
x27: ffff8008f2f11600 x26: ffff8008f2dee118
x25: ffff8008f2df0000 x24: 0000000000000000
x23: ffff000009c8e000 x22: ffff8008f2df0000
x21: 0000000000000000 x20: ffff8008f2dee118
x19: ffff8008f1f1ac00 x18: 0000fcc72810fc1a
x17: 0000fcc729e2d0e0 x16: ffff0000082b4430
x15: 0000000000000000 x14: ffffffffffffffff
x13: 0000000000000000 x12: 0000000000000020
x11: 0000000000000020 x10: 0101010101010101
x9 : 0000000000000000 x8 : 0000000000000024
x7 : 0000000040000000 x6 : 0000000000000020
x5 : 0000000000000000 x4 : 0000000000000000
x3 : 0000000000000140 x2 : 0000000000000000
x1 : ffff8008f1f1ac00 x0 : ffff8008f7738010X0: 0xffff8008f7737f90:
7f90 f75baef8 ffff8008 00000000 00000000 3305708c 00000000 f7332aa0 ffff8008
7fb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fd0 00005408 00000001 a1ff0014 00000000 00000000 00000000 00000000 00000000
7ff0 00000000 00000000 00000000 00000000 f7548780 ffff8008 ffffffff 00000000
8010 09dc50d8 ffff0000 f76fc800 ffff8008 f7548780 ffff8008 f7738428 ffff8008
8030 f76e7c28 ffff8008 09dc50e8 ffff0000 f6e6ae80 ffff8008 09dc4ac8 ffff0000
8050 f753e660 ffff8008 00000007 00000007 00000000 00000000 00000000 00000000
8070 00000000 00000000 00000000 00000000 f7738080 ffff8008 f7738080 ffff8008X1: 0xffff8008f1f1ab80:
ab80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
aba0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ac00 ec128080 ffff8008 0000062a 00000000 f5383800 00000000 00000000 00000000
ac20 00000000 00000000 00000000 00000000 08a179d8 ffff0000 e85aeb00 ffff8008
ac40 f1f1ac40 ffff8008 f1f1ac40 ffff8008 ffffff8d 00000000 f2dee118 ffff8008
ac60 0afdb024 ffff0000 00000003 00000003 00000000 00000000 00000000 00000000X19: 0xffff8008f1f1ab80:
ab80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
aba0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ac00 ec128080 ffff8008 0000062a 00000000 f5383800 00000000 00000000 00000000
ac20 00000000 00000000 00000000 00000000 08a179d8 ffff0000 e85aeb00 ffff8008
ac40 f1f1ac40 ffff8008 f1f1ac40 ffff8008 ffffff8d 00000000 f2dee118 ffff8008
ac60 0afdb024 ffff0000 00000003 00000003 00000000 00000000 00000000 00000000X20: 0xffff8008f2dee098:
e098 ae000000 00000000 f2df0000 ffff8008 00307065 00000000 00000000 00000000
e0b8 00000000 00000010 00000000 00000000 00000080 00000000 00000002 00000000
e0d8 00000000 00000000 00000002 00000000 00000000 00000000 00000000 00000000
e0f8 00000000 00000000 f2dee200 ffff8008 f2dee000 ffff8008 087793a4 ffff0000
e118 f0475900 ffff8008 f2dee1a8 ffff8008 091c36b0 ffff0000 f2dee230 ffff8008
e138 f2df0048 ffff8008 0000002e 02000000 000f0400 00000101 00000000 00000000
e158 00000000 00000000 f2dee160 ffff8008 f2dee160 ffff8008 f2dee170 ffff8008
e178 f2dee170 ffff8008 f2dee180 ffff8008 f2dee180 ffff8008 0afdb000 ffff0000X22: 0xffff8008f2deff80:
ff80 f33b40a0 ffff8008 f3dd6810 ffff8008 f03f8de8 ffff8008 00000000 00000000
ffa0 27ac430e 00000000 00000000 00000000 f2aec128 ffff8008 f32e0680 ffff8008
ffc0 00000000 00000000 f3623400 ffff8008 000000ac 00000001 41e80011 00000000
ffe0 f3b18000 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
0000 f7738010 ffff8008 f7738010 ffff8008 000000c0 00000000 f2df0018 ffff8008
0020 f2df0018 ffff8008 08a077e4 ffff0000 f2d42c00 ffff8008 091c3650 ffff0000
0040 f2dee018 ffff8008 f2dee130 ffff8008 f2deee30 ffff8008 00000003 00000005
0060 00000007 00000000 095d1550 ffff0000 f7738010 ffff8008 f2deef00 ffff8008X25: 0xffff8008f2deff80:
ff80 f33b40a0 ffff8008 f3dd6810 ffff8008 f03f8de8 ffff8008 00000000 00000000
ffa0 27ac430e 00000000 00000000 00000000 f2aec128 ffff8008 f32e0680 ffff8008
ffc0 00000000 00000000 f3623400 ffff8008 000000ac 00000001 41e80011 00000000
ffe0 f3b18000 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
0000 f7738010 ffff8008 f7738010 ffff8008 000000c0 00000000 f2df0018 ffff8008
0020 f2df0018 ffff8008 08a077e4 ffff0000 f2d42c00 ffff8008 091c3650 ffff0000
0040 f2dee018 ffff8008 f2dee130 ffff8008 f2deee30 ffff8008 00000003 00000005
0060 00000007 00000000 095d1550 ffff0000 f7738010 ffff8008 f2deef00 ffff8008X26: 0xffff8008f2dee098:
e098 ae000000 00000000 f2df0000 ffff8008 00307065 00000000 00000000 00000000
e0b8 00000000 00000010 00000000 00000000 00000080 00000000 00000002 00000000
e0d8 00000000 00000000 00000002 00000000 00000000 00000000 00000000 00000000
e0f8 00000000 00000000 f2dee200 ffff8008 f2dee000 ffff8008 087793a4 ffff0000
e118 f0475900 ffff8008 f2dee1a8 ffff8008 091c36b0 ffff0000 f2dee230 ffff8008
e138 f2df0048 ffff8008 0000002e 02000000 000f0400 00000101 00000000 00000000
e158 00000000 00000000 f2dee160 ffff8008 f2dee160 ffff8008 f2dee170 ffff8008
e178 f2dee170 ffff8008 f2dee180 ffff8008 f2dee180 ffff8008 0afdb000 ffff0000X27: 0xffff8008f2f11580:
1580 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
15a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
15c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
15e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1600 f0475000 ffff8008 00000003 00000000 f235fa00 ffff8008 00000000 00000000
1620 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1640 00000000 00000000 00000000 00000000 00000002 00000000 00000000 00000000
1660 00000000 00000000 00000000 00000000 08e3b158 ffff0000 f2f11600 ffff8008X28: 0xffff8008f235f980:
f980 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
f9a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
f9c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
f9e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
fa00 00000000 00000000 09f6e3d8 ffff0000 00000000 00000000 f2f11600 ffff8008
fa20 00000000 00000000 00000000 00000000 812aa8c0 812aa8c0 00ffffff ff2aa8c0
fa40 00001800 00000080 30627375 00000000 00000000 00000000 00000000 00000000
fa60 0046ac7c 00000001 0046ac7c 00000001 00000000 00000000 00000000 00000000Process Binder:3276_2 (pid: 3326, stack limit = 0xffff00000b378000)
Call trace:
Exception stack(0xffff00000b37b900 to 0xffff00000b37ba40)
b900: ffff8008f7738010 ffff8008f1f1ac00 0000000000000000 0000000000000140
b920: 0000000000000000 0000000000000000 0000000000000020 0000000040000000
b940: 0000000000000024 0000000000000000 0101010101010101 0000000000000020
b960: 0000000000000020 0000000000000000 ffffffffffffffff 0000000000000000
b980: ffff0000082b4430 0000fcc729e2d0e0 0000fcc72810fc1a ffff8008f1f1ac00
b9a0: ffff8008f2dee118 0000000000000000 ffff8008f2df0000 ffff000009c8e000
b9c0: 0000000000000000 ffff8008f2df0000 ffff8008f2dee118 ffff8008f2f11600
b9e0: ffff8008f235fa00 ffff00000b37ba40 ffff0000089bc2c0 ffff00000b37ba40
ba00: ffff0000089bbf90 00000000400001c5 ffff00000b37ba20 ffff00000827c354
ba20: 0000ffffffffffff ffff000008d578c4 ffff00000b37ba40 ffff0000089bbf90
[] __cdns3_gadget_ep_queue.isra.18+0x238/0x524
[] cdns3_gadget_ep_queue+0x44/0xd8
[] usb_ep_queue+0x5c/0xfc
[] rx_submit+0xec/0x1bc
[] rx_fill+0x60/0xb4
[] eth_open+0x64/0x78
[] __dev_open+0xe0/0x164
[] __dev_change_flags+0x160/0x18c
[] dev_change_flags+0x20/0x5c
[] devinet_ioctl+0x68c/0x724
[] inet_ioctl+0x8c/0xa8
[] sock_do_ioctl+0x34/0x70
[] sock_ioctl+0x21c/0x320
[] do_vfs_ioctl+0xbc/0x954
[] SyS_ioctl+0x84/0x98
Exception stack(0xffff00000b37bec0 to 0xffff00000b37c000)
bec0: 000000000000003d 0000000000008914 0000fcc728110840 0000000000000003
bee0: 0000fcc728110850 6f43ffffffffffff 0000000000000000 0000000000800000
bf00: 000000000000001d 0000fcc7281107f8 0000fcc7281107f8 0000fcc728110840
bf20: 0000fcc728110458 0000000000000028 ffffffffffffffff 00002d18ec000000
bf40: 0000fcc72962af68 0000fcc729e2d0e0 0000fcc72810fc1a 0000fcc728111588
bf60: 0000fcc72962b000 0000ab36f6e99ac5 0000ab36f6e99a8e 0000000000000008
bf80: 0000ab36f6e99ac8 0000fcc728111588 0000ab36f6e99c0e 0000000000000006
bfa0: 0000fcc72902b108 0000fcc728110830 0000fcc729e2d16c 0000fcc728110740
bfc0: 0000fcc729e73758 00000000a0000000 000000000000003d 000000000000001d
bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[] el0_svc_naked+0x34/0x38
Code: d503201f f9401e82 aa1303e1 f94006c0 (39c00842)
---[ end trace f7b45310362d53ac ]---
Kernel panic - not syncing: Fatal exception
SMP: stopping secondary CPUs
SMP: failed to stop secondary CPUs 0,2,4
Kernel Offset: disabled
CPU features: 0x180200c
Memory Limit: none
Rebooting in 5 seconds..
SMP: stopping secondary CPUs
SMP: failed to stop secondary CPUs 0,2,4Reviewed-by: Jun Li
Signed-off-by: Peter Chen -
Fix below oops:
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: starting service 'adbd'...
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=CONFIGURED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
android_work: sent uevent USB_STATE=DISCONNECTED
audit: audit_lost=179935 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
audit: audit_lost=179970 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
using random self ethernet address
using random host ethernet address
read descriptors
read strings
usb0: HOST MAC f2:80:c5:eb:a1:fd
usb0: MAC 92:da:4f:13:01:73
android_work: did not send uevent (0 0 (null))
audit: audit_lost=180005 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
composite_disconnect: Calling disconnect on a Gadget that is not connected
android_work: did not send uevent (0 0 (null))
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: Sending signal 9 to service 'adbd' (pid 22343) process group...
------------[ cut here ]------------
audit: audit_lost=180038 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
WARNING: CPU: 0 PID: 3468 at /home/tianyang/maddev_pie9.0/vendor/nxp-opensource/kernel_imx/drivers/usb/gadget/composite.c:2009 composite_disconnect+0x80/0x88
Modules linked in:
CPU: 0 PID: 3468 Comm: HWC-UEvent-Thre Not tainted 4.14.98-07846-g0b40a9b-dirty #16
Hardware name: Freescale i.MX8QM MEK (DT)
task: ffff8008f2349c00 task.stack: ffff00000b0a8000
PC is at composite_disconnect+0x80/0x88
LR is at composite_disconnect+0x80/0x88
pc : [] lr : [] pstate: 600001c5
sp : ffff000008003dd0
x29: ffff000008003dd0 x28: ffff8008f2349c00
x27: ffff000009885018 x26: ffff000008004000
Timeout for IPC response!
x25: ffff000009885018 x24: ffff000009c8e280
x23: ffff8008f2d98010 x22: 00000000000001c0
x21: ffff8008f2d98394 x20: ffff8008f2d98010
x19: 0000000000000000 x18: 0000e3956f4f075a
fxos8700 4-001e: i2c block read acc failed
x17: 0000e395735727e8 x16: ffff00000829f4d4
x15: ffffffffffffffff x14: 7463656e6e6f6320
x13: 746f6e2009090920 x12: 7369207461687420
x11: 7465676461472061 x10: 206e6f207463656e
x9 : 6e6f637369642067 x8 : ffff000009c8e280
x7 : ffff0000086ca6cc x6 : ffff000009f15e78
x5 : 0000000000000000 x4 : 0000000000000000
x3 : ffffffffffffffff x2 : c3f28b86000c3900
x1 : c3f28b86000c3900 x0 : 000000000000004eX20: 0xffff8008f2d97f90:
7f90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
libprocessgroup: Failed to kill process cgroup uid 0 pid 22343 in 215ms, 1 processes remain
7fd0
Timeout for IPC response!
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
using random self ethernet address
7ff0 00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010 00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc
using random host ethernet address
ffff0000
8030 f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050 f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070 f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008X21: 0xffff8008f2d98314:
8314 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8334 00000000 00000000 00000000 00000000 00000000 08a04cf4 ffff0000 00000000
8354 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8374 00000000 00000000 00000000 00001001 00000000 00000000 00000000 00000000
8394 e4bbe4bb 0f230000 ffff0000 0afae000 ffff0000 ae001000 00000000 f206d400
Timeout for IPC response!
83b4 ffff8008 00000000 00000000 f7957b18 ffff8008 f7957718 ffff8008 f7957018
83d4 ffff8008 f7957118 ffff8008 f7957618 ffff8008 f7957818 ffff8008 f7957918
83f4 ffff8008 f7957d18 ffff8008 00000000 00000000 00000000 00000000 00000000X23: 0xffff8008f2d97f90:
7f90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fd0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7ff0 00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010 00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc ffff0000
8030 f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050 f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070 f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008X28: 0xffff8008f2349b80:
9b80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9ba0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9bc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9be0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9c00 00000022 00000000 ffffffff ffffffff 00010001 00000000 00000000 00000000
9c20 0b0a8000 ffff0000 00000002 00404040 00000000 00000000 00000000 00000000
9c40 00000001 00000000 00000001 00000000 001ebd44 00000001 f390b800 ffff8008
9c60 00000000 00000001 00000070 00000070 00000070 00000000 09031d48 ffff0000Call trace:
Exception stack(0xffff000008003c90 to 0xffff000008003dd0)
3c80: 000000000000004e c3f28b86000c3900
3ca0: c3f28b86000c3900 ffffffffffffffff 0000000000000000 0000000000000000
3cc0: ffff000009f15e78 ffff0000086ca6cc ffff000009c8e280 6e6f637369642067
3ce0: 206e6f207463656e 7465676461472061 7369207461687420 746f6e2009090920
3d00: 7463656e6e6f6320 ffffffffffffffff ffff00000829f4d4 0000e395735727e8
3d20: 0000e3956f4f075a 0000000000000000 ffff8008f2d98010 ffff8008f2d98394
3d40: 00000000000001c0 ffff8008f2d98010 ffff000009c8e280 ffff000009885018
3d60: ffff000008004000 ffff000009885018 ffff8008f2349c00 ffff000008003dd0
3d80: ffff0000089ff9b0 ffff000008003dd0 ffff0000089ff9b0 00000000600001c5
3da0: ffff8008f33f2cd8 0000000000000000 0000ffffffffffff 0000000000000000
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
3dc0: ffff000008003dd0 ffff0000089ff9b0
[] composite_disconnect+0x80/0x88
[] android_disconnect+0x3c/0x68
[] cdns3_device_irq_handler+0xfc/0x2c8
[] cdns3_irq+0x44/0x94
[] __handle_irq_event_percpu+0x60/0x24c
[] handle_irq_event+0x58/0xc0
[] handle_fasteoi_irq+0x98/0x180
[] generic_handle_irq+0x24/0x38
[] __handle_domain_irq+0x60/0xac
[] gic_handle_irq+0xd4/0x17c
Exception stack(0xffff00000b0ab950 to 0xffff00000b0aba90)Reviewed-by: Jun Li
Signed-off-by: Peter Chen -
Fix below oops at stress USB switch test at android:
read strings
audit: rate limit exceeded
android_work: did not send uevent (0 0 (null))
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
configfs-gadget gadget: super-speed config #1: b
android_work: sent uevent USB_STATE=CONFIGURED
init: Received control message 'start' for 'adbd' from pid: 3515 (system_server)
Unable to handle kernel NULL pointer dereference at virtual address 0000002a
init: Received control message 'stop' for 'adbd' from pid: 3375 (/vendor/bin/hw/android.hardware.usb@1.1-servic)
Mem abort info:
Exception class = DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
Data abort info:
ISV = 0, ISS = 0x00000004
CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgd = ffff8008f1b7f000
[000000000000002a] *pgd=0000000000000000
Internal error: Oops: 96000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 4 PID: 2457 Comm: irq/125-5b11000 Not tainted 4.14.98-07846-g0b40a9b-dirty #16
Hardware name: Freescale i.MX8QM MEK (DT)
task: ffff8008f2a98000 task.stack: ffff00000b7b8000
PC is at composite_setup+0x44/0x1508
LR is at android_setup+0xb8/0x13c
pc : [] lr : [] pstate: 800001c5
sp : ffff00000b7bbb80
x29: ffff00000b7bbb80 x28: ffff8008f2a3c010
x27: 0000000000000001 x26: 0000000000000000 [1232/1897]
audit: audit_lost=25791 audit_rate_limit=5 audit_backlog_limit=64
x25: 00000000ffffffa1 x24: ffff8008f2a3c010
audit: rate limit exceeded
x23: 0000000000000409 x22: ffff000009c8e000
x21: ffff8008f7a8b428 x20: ffff00000afae000
x19: ffff0000089ff000 x18: 0000000000000000
x17: 0000000000000000 x16: ffff0000082b7c9c
x15: 0000000000000000 x14: f1866f5b952aca46
x13: e35502e30d44349c x12: 0000000000000008
x11: 0000000000000008 x10: 0000000000000a30
x9 : ffff00000b7bbd00 x8 : ffff8008f2a98a90
x7 : ffff8008f27a9c90 x6 : 0000000000000001
x5 : 0000000000000000 x4 : 0000000000000001
x3 : 0000000000000000 x2 : 0000000000000006
x1 : ffff0000089ff8d0 x0 : 732a010310b9ed00X7: 0xffff8008f27a9c10:
9c10 00000002 00000000 00000001 00000000 13110000 ffff0000 00000002 00208040
9c30 00000000 00000000 00000000 00000000 00000000 00000005 00000029 00000000
9c50 00051778 00000001 f27a8e00 ffff8008 00000005 00000000 00000078 00000078
9c70 00000078 00000000 09031d48 ffff0000 00100000 00000000 00400000 00000000
9c90 00000001 00000000 00000000 00000000 00000000 00000000 ffefb1a0 ffff8008
9cb0 f27a9ca8 ffff8008 00000000 00000000 b9d88037 00000173 1618a3eb 00000001
9cd0 870a792a 0000002e 16188fe6 00000001 0000242b 00000000 00000000 00000000
using random self ethernet address
9cf0 019a4646 00000000 000547f3 00000000 ecfd6c33 00000002 00000000
using random host ethernet address
00000000X8: 0xffff8008f2a98a10:
8a10 00000000 00000000 f7788d00 ffff8008 00000001 00000000 00000000 00000000
8a30 eb218000 ffff8008 f2a98000 ffff8008 f2a98000 ffff8008 09885000 ffff0000
8a50 f34df480 ffff8008 00000000 00000000 f2a98648 ffff8008 09c8e000 ffff0000
8a70 fff2c800 ffff8008 09031d48 ffff0000 0b7bbd00 ffff0000 0b7bbd00 ffff0000
8a90 080861bc ffff0000 00000000 00000000 00000000 00000000 00000000 00000000
8ab0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8ad0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8af0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000X21: 0xffff8008f7a8b3a8:
b3a8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b3c8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b3e8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b408 00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000000
b428 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b448 0053004d 00540046 00300031 00010030 eb07b520 ffff8008 20011201 00000003
b468 e418d109 0104404e 00010302 00000000 eb07b558 ffff8008 eb07b558 ffff8008
b488 f7a8b488 ffff8008 f7a8b488 ffff8008 f7a8b300 ffff8008 00000000 00000000X24: 0xffff8008f2a3bf90:
bf90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfd0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bff0 00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
c010 00000000 00000000 f2a3c018 ffff8008 f2a3c018 ffff8008 08a067dc ffff0000
c030 f2a5a000 ffff8008 091c3650 ffff0000 f716fd18 ffff8008 f716fe30 ffff8008
c050 f2ce4a30 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
c070 f76c8010 ffff8008 f2ce4b00 ffff8008 095cac68 ffff0000 f2a5a028 ffff8008X28: 0xffff8008f2a3bf90:
bf90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfd0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bff0 00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
c010 00000000 00000000 f2a3c018 ffff8008 f2a3c018 ffff8008 08a067dc ffff0000
c030 f2a5a000 ffff8008 091c3650 ffff0000 f716fd18 ffff8008 f716fe30 ffff8008
c050 f2ce4a30 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
c070 f76c8010 ffff8008 f2ce4b00 ffff8008 095cac68 ffff0000 f2a5a028 ffff8008Process irq/125-5b11000 (pid: 2457, stack limit = 0xffff00000b7b8000)
Call trace:
Exception stack(0xffff00000b7bba40 to 0xffff00000b7bbb80)
ba40: 732a010310b9ed00 ffff0000089ff8d0 0000000000000006 0000000000000000
ba60: 0000000000000001 0000000000000000 0000000000000001 ffff8008f27a9c90
ba80: ffff8008f2a98a90 ffff00000b7bbd00 0000000000000a30 0000000000000008
baa0: 0000000000000008 e35502e30d44349c f1866f5b952aca46 0000000000000000
bac0: ffff0000082b7c9c 0000000000000000 0000000000000000 ffff0000089ff000
bae0: ffff00000afae000 ffff8008f7a8b428 ffff000009c8e000 0000000000000409
bb00: ffff8008f2a3c010 00000000ffffffa1 0000000000000000 0000000000000001
bb20: ffff8008f2a3c010 ffff00000b7bbb80 ffff000008a032fc ffff00000b7bbb80
bb40: ffff0000089ffb3c 00000000800001c5 ffff00000b7bbb80 732a010310b9ed00
bb60: ffffffffffffffff ffff0000080f777c ffff00000b7bbb80 ffff0000089ffb3c
[] composite_setup+0x44/0x1508
[] android_setup+0xb8/0x13c
[] cdns3_ep0_delegate_req+0x44/0x70
[] cdns3_check_ep0_interrupt_proceed+0x33c/0x654
[] cdns3_device_thread_irq_handler+0x4b0/0x4bc
[] cdns3_thread_irq+0x48/0x68
[] irq_thread_fn+0x28/0x88
[] irq_thread+0x13c/0x228
[] kthread+0x104/0x130
[] ret_from_fork+0x10/0x18
Code: 91234261 f94006ba f90057a0 79400a97 (3940ab40)
---[ end trace e8f0a7c675a161ca ]---
Kernel panic - not syncing: Fatal exception
SMP: stopping secondary CPUs
Kernel Offset: disabled
CPU features: 0x180200c
Memory Limit: none
Rebooting in 5 seconds..Signed-off-by: Peter Chen
-
We don't need to notify the bus reset for class driver if the non-control
endpoints are not enabled. It could cause unnecessary disconnect event for
android due to below two reasons:
- Android declares the disconnect event for reset handler.
- The controller will get two reset interrupts at HS mode
it fixed two below oops:oops #1
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATE=CONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONFIGURED
android_work: sent uevent USB_STATE=DISCONNECTED
audit: audit_lost=8846 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
init: Received control message 'start' for 'adbd' from pid: 3275 (system_server)
android_work: sent uevent USB_STATE=CONNECTED
android_disconnect: gadget driver already disconnected
init: Received control message 'stop' for 'adbd' from pid: 3135
(/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: Sending signal 9 to service 'adbd' (pid 5859) process group...
android_work: sent uevent USB_STATE=DISCONNECTED
------------[ cut here ]------------
WARNING: CPU: 0 PID: 5858 at kernel_imx/drivers/usb/gadget/configfs.c:1533 android_disconnect+0x60/0x68
Modules linked in:
audit: audit_lost=8877 audit_rate_limit=5 audit_backlog_limit=64
CPU: 0 PID: 5858 Comm: main Not tainted 4.14.98-07844-g346f959 #14
audit: rate limit exceeded
Hardware name: Freescale i.MX8QXP MEK (DT)
task: ffff800063950e00 task.stack: ffff00000daf8000
PC is at android_disconnect+0x60/0x68
LR is at android_disconnect+0x60/0x68
pc : [] lr : [] pstate: 600001c5
sp : ffff000008003e00
x29: ffff000008003e00 x28: ffff800063950e00
Timeout for IPC response!
x27: ffff000009885018 x26: ffff000008004000
Failed power operation on resource 248 sc_err 3
x25: ffff000009885018 x24: ffff000009c8e280
x23: ffff800836158810 x22: 00000000000001c0
x21: ffff800836158b94 x20: ffff800836158810
x19: 0000000000000000 x18: 0000f6cba5d06050
Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff000011790024
x17: 0000f6cba74ac218 x16: ffff00000829be84
Internal error: : 96000210 [#1] PREEMPT SMP
Modules linked in:
x15: 0000f6cba5d067f0
x14: 0000f6cba5d0a3d0
CPU: 2 PID: 2353 Comm: kworker/2:1H Not tainted 4.14.98-07844-g346f959 #14
Hardware name: Freescale i.MX8QXP MEK (DT)
x13: 656c626174206665 x12: 078db5fab2ae6e00
Workqueue: kblockd blk_mq_run_work_fn
x11: ffff000008003ad0
task: ffff80083bf62a00 task.stack: ffff00000b5e8000
x10: ffff000008003ad0
PC is at esdhc_readl_le+0x8/0x15c
x9 : 0000000000000006
LR is at sdhci_send_command+0xc4/0xa54
x8 : ffff000009c8e280
pc : [] lr : [] pstate: 200001c5
i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: rpmsg_xfer failed: timeout
fxos8700 14-001e: i2c block read acc failed
i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: rpmsg_xfer failed: timeoutoops 2#:
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: starting service 'adbd'...
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=CONFIGURED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
android_work: sent uevent USB_STATE=DISCONNECTED
audit: audit_lost=179935 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
audit: audit_lost=179970 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
using random self ethernet address
using random host ethernet address
read descriptors
read strings
usb0: HOST MAC f2:80:c5:eb:a1:fd
usb0: MAC 92:da:4f:13:01:73
android_work: did not send uevent (0 0 (null))
audit: audit_lost=180005 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
composite_disconnect: Calling disconnect on a Gadget that is not connected
android_work: did not send uevent (0 0 (null))
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: Sending signal 9 to service 'adbd' (pid 22343) process group...
------------[ cut here ]------------
audit: audit_lost=180038 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
WARNING: CPU: 0 PID: 3468 at /home/tianyang/maddev_pie9.0/vendor/nxp-opensource/kernel_imx/drivers/usb/gadget/composite.c:2009 composite_disconnect+0x80/0x88
Modules linked in:
CPU: 0 PID: 3468 Comm: HWC-UEvent-Thre Not tainted 4.14.98-07846-g0b40a9b-dirty #16
Hardware name: Freescale i.MX8QM MEK (DT)
task: ffff8008f2349c00 task.stack: ffff00000b0a8000
PC is at composite_disconnect+0x80/0x88
LR is at composite_disconnect+0x80/0x88
pc : [] lr : [] pstate: 600001c5
sp : ffff000008003dd0
x29: ffff000008003dd0 x28: ffff8008f2349c00
x27: ffff000009885018 x26: ffff000008004000
Timeout for IPC response!
x25: ffff000009885018 x24: ffff000009c8e280
x23: ffff8008f2d98010 x22: 00000000000001c0
x21: ffff8008f2d98394 x20: ffff8008f2d98010
x19: 0000000000000000 x18: 0000e3956f4f075a
fxos8700 4-001e: i2c block read acc failed
x17: 0000e395735727e8 x16: ffff00000829f4d4
x15: ffffffffffffffff x14: 7463656e6e6f6320
x13: 746f6e2009090920 x12: 7369207461687420
x11: 7465676461472061 x10: 206e6f207463656e
x9 : 6e6f637369642067 x8 : ffff000009c8e280
x7 : ffff0000086ca6cc x6 : ffff000009f15e78
x5 : 0000000000000000 x4 : 0000000000000000
x3 : ffffffffffffffff x2 : c3f28b86000c3900
x1 : c3f28b86000c3900 x0 : 000000000000004eX20: 0xffff8008f2d97f90:
7f90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
libprocessgroup: Failed to kill process cgroup uid 0 pid 22343 in 215ms, 1 processes remain
7fd0
Timeout for IPC response!
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
using random self ethernet address
7ff0 00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010 00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc
using random host ethernet address
ffff0000
8030 f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050 f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070 f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008X21: 0xffff8008f2d98314:
8314 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8334 00000000 00000000 00000000 00000000 00000000 08a04cf4 ffff0000 00000000
8354 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8374 00000000 00000000 00000000 00001001 00000000 00000000 00000000 00000000
8394 e4bbe4bb 0f230000 ffff0000 0afae000 ffff0000 ae001000 00000000 f206d400
Timeout for IPC response!
83b4 ffff8008 00000000 00000000 f7957b18 ffff8008 f7957718 ffff8008 f7957018
83d4 ffff8008 f7957118 ffff8008 f7957618 ffff8008 f7957818 ffff8008 f7957918
83f4 ffff8008 f7957d18 ffff8008 00000000 00000000 00000000 00000000 00000000X23: 0xffff8008f2d97f90:
7f90 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fd0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7ff0 00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010 00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc ffff0000
8030 f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050 f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070 f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008X28: 0xffff8008f2349b80:
9b80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9ba0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9bc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9be0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9c00 00000022 00000000 ffffffff ffffffff 00010001 00000000 00000000 00000000
9c20 0b0a8000 ffff0000 00000002 00404040 00000000 00000000 00000000 00000000
9c40 00000001 00000000 00000001 00000000 001ebd44 00000001 f390b800 ffff8008
9c60 00000000 00000001 00000070 00000070 00000070 00000000 09031d48 ffff0000Call trace:
Exception stack(0xffff000008003c90 to 0xffff000008003dd0)
3c80: 000000000000004e c3f28b86000c3900
3ca0: c3f28b86000c3900 ffffffffffffffff 0000000000000000 0000000000000000
3cc0: ffff000009f15e78 ffff0000086ca6cc ffff000009c8e280 6e6f637369642067
3ce0: 206e6f207463656e 7465676461472061 7369207461687420 746f6e2009090920
3d00: 7463656e6e6f6320 ffffffffffffffff ffff00000829f4d4 0000e395735727e8
3d20: 0000e3956f4f075a 0000000000000000 ffff8008f2d98010 ffff8008f2d98394
3d40: 00000000000001c0 ffff8008f2d98010 ffff000009c8e280 ffff000009885018
3d60: ffff000008004000 ffff000009885018 ffff8008f2349c00 ffff000008003dd0
3d80: ffff0000089ff9b0 ffff000008003dd0 ffff0000089ff9b0 00000000600001c5
3da0: ffff8008f33f2cd8 0000000000000000 0000ffffffffffff 0000000000000000
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
3dc0: ffff000008003dd0 ffff0000089ff9b0
[] composite_disconnect+0x80/0x88
[] android_disconnect+0x3c/0x68
[] cdns3_device_irq_handler+0xfc/0x2c8
[] cdns3_irq+0x44/0x94
[] __handle_irq_event_percpu+0x60/0x24c
[] handle_irq_event+0x58/0xc0
[] handle_fasteoi_irq+0x98/0x180
[] generic_handle_irq+0x24/0x38
[] __handle_domain_irq+0x60/0xac
[] gic_handle_irq+0xd4/0x17c
Exception stack(0xffff00000b0ab950 to 0xffff00000b0aba90)
b940: ffff8008f2a65c00 0000000000000140
b960: 00000000000068ea ffff8008f6cf9c00 0000000000000000 0000000000000000
b980: ffff000009893800 ffff8008f23c38a8 ffff8008ffee21a0 00000000ffffffff
b9a0: 0000000000000001 6f6674616c702f73 30313162352f6d72 336273752e303030
b9c0: 3162352f6364752f ffffffffffffffff ffff00000829f4d4 0000e395735727e8
b9e0: 0000e3956f4f075a ffff8008f2a65c00 0000000000000001 0000000000000140
ba00: 00000000000000c3 0000000000000001 0000000000000001 ffff000009c8e000
ba20: ffff8008f2c5b940 ffff8008d5a6fb00 0000000000000067 ffff00000b0aba90
ba40: ffff00000812b354 ffff00000b0aba90 ffff000009010044 0000000060000145
ba60: 0000000000000140 00000000000000c3 0000ffffffffffff 0000000000000001
ba80: ffff00000b0aba90 ffff000009010044
[] el1_irq+0xb0/0x124
[] _raw_spin_unlock_irqrestore+0x18/0x48
[] __wake_up_common_lock+0xa0/0xd4
[] __wake_up_sync_key+0x1c/0x24
[] sock_def_readable+0x40/0x70
[] unix_dgram_sendmsg+0x45c/0x728
[] sock_write_iter+0x10c/0x124
[] do_iter_readv_writev+0xf8/0x160
[] do_iter_write.part.17+0x38/0x154
[] vfs_writev+0x114/0x158
[] do_writev+0x60/0xe8
[] SyS_writev+0x10/0x18
Exception stack(0xffff00000b0abec0 to 0xffff00000b0ac000)
bec0: 000000000000000f 0000e3956f4f0cb0 0000000000000004 0000000000000003
bee0: 0000000000000067 0000000080000000 725705beff78606b 7f7f7fff7f7f7f7f
bf00: 0000000000000042 000000000000005c 0000e3956f4f0e60 0000000000000053
bf20: 0000e3956f4f0f98 ffffffffffffffff ffffffffff000000 ffffffffffffffff
bf40: 0000e39572bf0cc0 0000e395735727e8 0000e3956f4f075a 0000000000000000
bf60: 000000000000000f 0000e3956f4f0cb0 0000000000000004 0000e39572bf17e0
bf80: 0000e3956f4f2588 0000e39572bf1618 0000000000000004 0000000000000000
bfa0: 0000e39572bf1618 0000e3956f4f0d70 0000e39572bd4260 0000e3956f4f0cb0
bfc0: 0000e395735727f0 0000000060000000 000000000000000f 0000000000000042
bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[] el0_svc_naked+0x34/0x38Reviewed-by: Jun Li
Signed-off-by: Peter Chen -
Meanwhile, the pending_setup_status work item needs to be flushed after
EP0 is dequeued. It fixed below oops:[ 292.766596] android_work: sent uevent USB_STATE=DISCONNECTED
[ 292.769602] ------------[ cut here ]------------
[ 292.769631] WARNING: CPU: 3 PID: 88 at /home/b29397/work/projects/linux-imx/drivers/usb/gadget/composite.c:1383 com
posite_setup_complete+0xc8/0xd0
[ 292.769639] Modules linked in:
[ 292.790493] audit: audit_lost=5519 audit_rate_limit=5 audit_backlog_limit=64
[ 292.796604] audit: rate limit exceeded
[ 292.803165] CPU: 3 PID: 88 Comm: kworker/3:1 Not tainted 4.14.98-07842-g3848d2f45363-dirty #51
[ 292.803168] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 292.803183] Workqueue: events_freezable cdns3_pending_setup_status_handler
[ 292.803188] task: ffff80083ac68e80 task.stack: ffff00000ada8000
[ 292.803195] PC is at composite_setup_complete+0xc8/0xd0
[ 292.803200] LR is at composite_setup_complete+0xc8/0xd0
[ 292.803204] pc : [] lr : [] pstate: 000001c5
[ 292.803206] sp : ffff00000adabd70
[ 292.803208] x29: ffff00000adabd70 x28: 0000000000000000
[ 292.803215] x27: ffff80083abf8c38 x26: ffff000009619518
[ 292.803227] x25: 0000000000000000 x24: ffff00000a150cf8
[ 292.870582] x23: 0000000000000000 x22: ffff80083ff6c100
[ 292.875901] x21: 0000000000000140 x20: ffff800836342718
[ 292.881216] x19: ffff8000706e5900 x18: 0000000000000010
[ 292.886533] x17: 0000eb3821d31268 x16: ffff000008313fc8
[ 292.891850] x15: ffffffffffffffff x14: ffff00000a12e008
[ 292.897166] x13: ffff00008a4319d7 x12: ffff00000a4319df
[ 292.902483] x11: ffff00000a157000 x10: ffff00000adaba90
[ 292.907801] x9 : 00000000ffffffd0 x8 : ffff000008729658
[ 292.913116] x7 : 75716572206e776f x6 : 0000000000000006
[ 292.918433] x5 : 0000000000000000 x4 : 0000000000000000
[ 292.923749] x3 : 0000000000000000 x2 : 13710ac2b6ac9b00
[ 292.929067] x1 : 0000000000000000 x0 : 0000000000000020
[ 292.934397]
[ 292.934397] X19: 0xffff8000706e5880:
[ 292.939448] 5880 00004ef4 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 292.947651] 58a0 00000000 00000000 00004ef5 00000000 00000000 00000000 00000000 00000000
[ 292.955860] 58c0 00000000 00000000 00000000 00000000 00000000 00000000 71f24600 ffff8000
[ 292.964070] 58e0 00000300 00000001 706e58e0 ffff8000 395101c0 ffff8008 00000000 00000000
[ 292.972280] 5900 706e5000 ffff8000 00000000 00000000 f47ff000 00000000 00000000 00000000
[ 292.980487] 5920 00000000 00000000 00000000 00000000 08aa1700 ffff0000 3bb36428 ffff8008
[ 292.988697] 5940 706e5940 ffff8000 706e5940 ffff8000 00000000 00000000 36342718 ffff8008
[ 292.996907] 5960 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.005121]
[ 293.005121] X20: 0xffff800836342698:
[ 293.010181] 2698 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.014718] using random self ethernet address
[ 293.018391] 26b8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.018413] 26d8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.018435] 26f8 00000000 00000000 36342900 ffff8008 3ac7c880 ffff8008 087e56b0 ffff0000
[ 293.018458] 2718 3bb36428 ffff8008 363427a8 ffff8008 092cbfa0
[ 293.030136] using random host ethernet address
[ 293.031092] ffff0000 00000000 00000000
[ 293.031101] 2738 00000000 00000000 00000031 02000000 00000200 00000004 0a286238 ffff0000
[ 293.031136] 2758 00000000 00000000 36342760 ffff8008 36342760 ffff8008 36342770 ffff8008
[ 293.077978] 2778 36342770 ffff8008 36342780 ffff8008 36342780 ffff8008 0ae25000 ffff0000
[ 293.086193]
[ 293.086193] X22: 0xffff80083ff6c080:
[ 293.091253] c080 3ff6c080 ffff8008 3ff6c080 ffff8008 ffffffe0 0000000f 3ff6c098 ffff8008
[ 293.099463] c0a0 3ff6c098 ffff8008 080fb2b0 ffff0000 00000000 00000000 00000000 00000000
[ 293.107672] c0c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.115882] c0e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.124083] c100 3ff68000 ffff8008 3a00ce00 ffff8008 00000000 ffffffff 00000002 00000001
[ 293.132293] c120 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.140494] c140 00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000100
[ 293.148695] c160 3ff6c160 ffff8008 3ff6c160 ffff8008 3ff53170 ffff8008 3a00ce00 ffff8008
[ 293.156903]
[ 293.156903] X27: 0xffff80083abf8bb8:
[ 293.161961] 8bb8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.170162] 8bd8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.178371] 8bf8 00000000 00000000 00000000 00000000 643a725f 5f706368 3aafd100 ffff8008
[ 293.186583] 8c18 00000000 73706d75 00000000 74706f5f 3abf8c28 ffff8008 3abf8c28 ffff8008
[ 293.194791] 8c38 00000000 dead0000 00000000 ffff8008 3abf8c48 ffff8008 3abf8c48 ffff8008
[ 293.203001] 8c58 00000050 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.211210] 8c78 00000000 00000000 00000001 ffff8008 3607ac00 ffff8008 00000002 00000000
[ 293.219420] 8c98 3abf8c98 ffff8008 00000000 00000000 00000000 00000000 3ad74fb0 ffff8008
[ 293.227625]
[ 293.229119] Call trace:
[ 293.231573] Exception stack(0xffff00000adabc30 to 0xffff00000adabd70)
[ 293.238027] bc20: 0000000000000020 0000000000000000
[ 293.245865] bc40: 13710ac2b6ac9b00 0000000000000000 0000000000000000 0000000000000000
[ 293.253707] bc60: 0000000000000006 75716572206e776f ffff000008729658 00000000ffffffd0
[ 293.261543] bc80: ffff00000adaba90 ffff00000a157000 ffff00000a4319df ffff00008a4319d7
[ 293.269379] bca0: ffff00000a12e008 ffffffffffffffff ffff000008313fc8 0000eb3821d31268
[ 293.277217] bcc0: 0000000000000010 ffff8000706e5900 ffff800836342718 0000000000000140
[ 293.285051] bce0: ffff80083ff6c100 0000000000000000 ffff00000a150cf8 0000000000000000
[ 293.292887] bd00: ffff000009619518 ffff80083abf8c38 0000000000000000 ffff00000adabd70
[ 293.300723] bd20: ffff000008aa17c8 ffff00000adabd70 ffff000008aa17c8 00000000000001c5
[ 293.308562] bd40: ffff000008aa1700 0000000000000000 ffffffffffffffff ffff800838000058
[ 293.316406] bd60: ffff00000adabd70 ffff000008aa17c8
[ 293.321303] [] composite_setup_complete+0xc8/0xd0
[ 293.327584] [] cdns3_pending_setup_status_handler+0x70/0x98
[ 293.334729] [] process_one_work+0x1d8/0x470
[ 293.340476] [] worker_thread+0x4c/0x458
[ 293.345885] [] kthread+0x134/0x138
[ 293.350862] [] ret_from_fork+0x10/0x1c
[ 293.356175] ---[ end trace 9b2dcf754a0dbda5 ]---
[ 293.392462] init: Service 'adbd' (pid 4743) received signal 9
[ 293.399231] init: Sending signal 9 to service 'adbd' (pid 4743) process group...
[ 293.412539] libprocessgroup: Successfully killed process cgroup uid 0 pid 4743 in 4ms
[ 295.781315] init: Received control message 'start' for 'adbd' from pid: 3253 (system_server)
[ 295.790279] init: starting service 'adbd'...
[ 295.798116] init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000Reviewed-by: Jun Li
Signed-off-by: Peter Chen -
- If the UDC is not started, we need not to access register at .udc_stop
- Clear all priv_ep flags except EP_CLAIMED which should be cleared at
.udc_stop
- Clear warning message that the .ep_disable may be called twice, one
from class driver, one from UDC driver.Reviewed-by: Jun Li
Signed-off-by: Peter Chen -
At Android ADB and MTP use case, TD consumes very fast compared to TD has
finished, so we need to enlarge the TD list to avoid "no free TD error".Reviewed-by: Jun Li
Signed-off-by: Peter Chen -
define_trace.h needs to know how to find our header, otherwise
we will have below build error:In file included from drivers/usb/cdns3/trace.h:446:0,
from drivers/usb/cdns3/trace.c:11:
./include/trace/define_trace.h:89:43: fatal error: ./trace.h: No such
file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
scripts/Makefile.build:326: recipe for target
'drivers/usb/cdns3/trace.o' failed
make[3]: *** [drivers/usb/cdns3/trace.o] Error 1
make[3]: *** Waiting for unfinished jobs....
CC drivers/usb/host/pci-quirks.o
CC drivers/usb/isp1760/isp1760-core.o
CC drivers/usb/misc/ehset.o
CC drivers/usb/isp1760/isp1760-if.o
scripts/Makefile.build:585: recipe for target 'drivers/usb/cdns3' failed
make[2]: *** [drivers/usb/cdns3] Error 2
make[2]: *** Waiting for unfinished jobs....
CC drivers/usb/misc/usb3503.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/usb/isp1760/isp1760-hcd.oAcked-by: Peter Chen
Signed-off-by: Li Jun
(cherry picked from commit b0067d4b7c4e6f11625d3989b903189d73a45363) -
The Cadence xHCI doesn't support BEI well, it causes the disconnection
of ISOC devices can't be detected, so we disable it.Reviewed-by: Jun Li
Signed-off-by: Peter Chen
(cherry picked from commit 258bb7de5b60bae44b7b775ea9d03e8a59410868) -
Keep the internal framework, just use the UDC driver from
upstream version which supports multiple TD.Reviewed-by: Jun Li
Signed-off-by: Peter Chen
(cherry picked from commit 2336a88d3867bbc68dd11420f7b1269c1eaf6cae) -
It is an experimental feature, and tested by internal team for
Carplay feature.Signed-off-by: Peter Chen
(cherry picked from commit 270c1ea5168763a03f79c4f9ecadb2cd18dc08f9) -
Below oops is reproduced when switch between mtp and ptp function
at Android, the interrupt occurs when the usb_ss->gadget_driver
is already NULL. In this commit, we add NULL pointer check for
it as well as protecting for clear usb_ss->gadget_driver.init: Sending signal 9 to service 'adbd' (pid 4644) process group...
Mem abort info:
Exception class = DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
Data abort info:
ISV = 0, ISS = 0x00000004
CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgd = ffff800830e49000
[0000000000000020] *pgd=0000000000000000
Internal error: Oops: 96000004 [#1] PREEMPT SMP
Modules linked in: wlan
CPU: 0 PID: 3226 Comm: surfaceflinger Not tainted 4.14.98 #1
init: Successfully killed process cgroup uid 0 pid 4644 in 11ms
Hardware name: Freescale i.MX8QXP MEK (DT)
task: ffff80083bf55400 task.stack: ffff00000ffe8000
PC is at cdns_get_setup_ret+0x38/0x64
LR is at cdns_get_setup_ret+0x24/0x64
pc : [] lr : [] pstate: 000001c5
sp : ffff000008003d10
x29: ffff000008003d10 x28: ffff80083bf55400
x27: ffff000009873018 x26: ffff000008004000
x25: ffff000009873018 x24: ffff000009c6a288
x23: ffff000008003f24 x22: ffff00000a85e000
x21: 0000000000000001 x20: ffff8008361c97b8
x19: ffff8008361c9000 x18: 0000000000000001
x17: 0000fe6e544aee34 x16: ffff0000082b54f0
x15: 0000ffffccae15f0 x14: 0000000000000000
x13: 0000000000000000 x12: 0000000000010000
x11: 0000000000000040 x10: 0000000000000040
x9 : ffff8008380ae238 x8 : ffff800838000248
x7 : 0000000000000000 x6 : ffff800838000248
init: Service 'adbd' (pid 4644) killed by signal 9
x5 : ffff80083ae40600 x4 : 0000000000000000
x3 : 00000000000001c0 x2 : 0000000000000000
x1 : ffff00000a85e000 x0 : ffff8008361c9300X0: 0xffff8008361c9280:
9280 00000000 00000000 00000000 00000000 000f000f
init: processing action (init.svc.adbd=stopped) from (/init.usb.configfs.rc:15)
00000000 3bf6ce00 ffff8008
92a0 3acd9a00 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
92c0 00000000 00000000 00000000 00000000 00000000 00000000 089b0e3c ffff0000
92e0 00000000
init: processing action (sys.usb.config=mtp,adb && sys.usb.configfs=1) from (/init.usb.configfs.rc:33)
00000000 00000000 00000000
read descriptors
read strings
init: starting service 'adbd'...
00000000
init: property_set("ro.boottime.adbd", "97804848500") failed: property already set
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
00000000 0e0f0000 ffff0000
9300 3ff21105 ffff8008 3ff1d120 ffff8008 2e15d4e0 ffff8008 089f9558 ffff0000
9320 3618ac00 ffff8008 091b7860 ffff0000 3bf6ce18 ffff8008 3bf6cd30
read descriptors
read strings
ffff8008
9340 3acd9a30 ffff8008 00000000 00000005 00000000 00000000 095c4e58 ffff0000
9360 361c9000 ffff8008 3acd9700 ffff8008 095be4c8 ffff0000 3618ac28 ffff8008X5: 0xffff80083ae40580:
0580 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
05a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
05c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
05e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0600 03440204 ffffffff 00000000 00000000 00000000 00000000 0000000f 00000000
0620 00000001 00000000 00000000 00000030 0000010f 00000000 3ae40600 ffff8008
0640 09d7aae0 ffff0000 3a088000 ffff8008 3aa22c80 ffff8008 00000000 00000000
0660 09886e24 ffff0000 081496ec ffff0000 3b444080 ffff8008 00000000 00000000X6: 0xffff8008380001c8:
01c8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
01e8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0208 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0228 fffffc00 ffffffff 00000000 00000000 00000000 00000000 38000248 ffff8008
0248 003f0000 00000000 380af6c0 ffff8008 09c937f0 ffff0000 38000260 ffff8008
0268 38000260 ffff8008 00000000 00000000 3a007400 ffff8008 3a007600 ffff8008
0288 3a007800 ffff8008 3a007a00 ffff8008 3a007c00 ffff8008 3a6be600 ffff8008
02a8 3ab1da00 ffff8008 3ab1dc00 ffff8008 3ab1de00 ffff8008 3ac52000 ffff8008X8: 0xffff8008380001c8:
01c8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
01e8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0208 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0228 fffffc00 ffffffff 00000000 00000000 00000000 00000000 38000248 ffff8008
0248 003f0000 00000000 380af6c0 ffff8008 09c937f0 ffff0000 38000260 ffff8008
0268 38000260 ffff8008 00000000 00000000 3a007400 ffff8008 3a007600 ffff8008
0288 3a007800 ffff8008 3a007a00 ffff8008 3a007c00 ffff8008 3a6be600 ffff8008
02a8 3ab1da00 ffff8008 3ab1dc00 ffff8008 3ab1de00 ffff8008 3ac52000 ffff8008X9: 0xffff8008380ae1b8:
e1b8 3ae1ddd0 ffff8008 3ae1de58 ffff8008 3ae1dee0 ffff8008 3ae1df68 ffff8008
e1d8 3aad9000 ffff8008 3aad9088 ffff8008 3aad9110 ffff8008 3aad9198 ffff8008
e1f8 3aad9220 ffff8008 3aad92a8 ffff8008 3aad9330 ffff8008 3aad93b8 ffff8008
e218 00000000 00000000 00000000 00000000 00000000 00000000 380ae238 ffff8008
e238 000b0400 00000000 3802c490 ffff8008 3a081060 ffff8008 380ae250 ffff8008
e258 380ae250 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
e278 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
e298 00000000 00000000 3aea2c28 ffff8008 3aea2e28 ffff8008 00000000 00000000X19: 0xffff8008361c8f80:
8f80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8fa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8fc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8fe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9000 3ab9f410 ffff8008 3bf6b000 ffff8008 095c4e48 ffff0000 361c9378 ffff8008
9020 360ed558 ffff8008 3ab9f420 ffff8008 3a7d5800 ffff8008 09d9fa00 ffff0000
9040 361b94c8 ffff8008 00000006 00000003 00000000 00000000 00000000 00000000
9060 00000000 00000000 00000000 00000000 361c9070 ffff8008 361c9070 ffff8008X20: 0xffff8008361c9738:
9738 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9758 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9778 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9798 0000000e 00000000 71a71600 ffff8000 00000000 00000000 00000000 00000000
97b8 044c044c 00000002 00000000 00000000 00000001 00000000 3ab9f410 ffff8008
97d8 00000001 00000000 3bf6cc70 ffff8008 3bf6c170 ffff8008 00000000 00000000
97f8 00000000 00000000 361c9800 ffff8008 361c9800 ffff8008 089b1dc8 ffff0000
9818 71a71600 ffff8000 00000000 00000000 00000000 00000000 00000000 00000000X28: 0xffff80083bf55380:
5380 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
53a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
53c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
53e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5400 00000022 00000000 ffffffff ffffffff 00010001 00000000 00000000 00000000
5420 0ffe8000 ffff0000 00000006 00404100 00000000 00000000 00000000 00000000
5440 00000001 00000000 000000e6 00000000 ffff3a2d 00000000 30c10000 ffff8008
5460 00000000 00000001 00000062 00000070 00000062 00000001 09023e38 ffff0000Process surfaceflinger (pid: 3226, stack limit = 0xffff00000ffe8000)
Call trace:
Exception stack(0xffff000008003bd0 to 0xffff000008003d10)
3bc0: ffff8008361c9300 ffff00000a85e000
3be0: 0000000000000000 00000000000001c0 0000000000000000 ffff80083ae40600
3c00: ffff800838000248 0000000000000000 ffff800838000248 ffff8008380ae238
3c20: 0000000000000040 0000000000000040 0000000000010000 0000000000000000
3c40: 0000000000000000 0000ffffccae15f0 ffff0000082b54f0 0000fe6e544aee34
3c60: 0000000000000001 ffff8008361c9000 ffff8008361c97b8 0000000000000001
3c80: ffff00000a85e000 ffff000008003f24 ffff000009c6a288 ffff000009873018
3ca0: ffff000008004000 ffff000009873018 ffff80083bf55400 ffff000008003d10
3cc0: ffff0000089b0e74 ffff000008003d10 ffff0000089b0e88 00000000000001c5
3ce0: 00000000000001c0 1a8824534cfb2000 0000ffffffffffff ffff0000080f87c8
3d00: ffff000008003d10 ffff0000089b0e88
[] cdns_get_setup_ret+0x38/0x64
[] cdns_check_ep0_interrupt_proceed+0xc0/0x8dc
[] cdns_irq_handler_thread+0x2a4/0x4e8
[] cdns3_irq+0x44/0x94
[] __handle_irq_event_percpu+0x60/0x24c
[] handle_irq_event+0x58/0xc0
[] handle_fasteoi_irq+0x98/0x180
[] generic_handle_irq+0x24/0x38
[] __handle_domain_irq+0x60/0xac
[] gic_handle_irq+0xd4/0x17cSigned-off-by: Peter Chen
(cherry picked from commit 6ee6e32b0c3fcbea70117eaea3c315f0e220144c) -
use a spinlock to synchronize sending message to MU
Signed-off-by: ming_qian
Reviewed-by: Shijie Qin -
The mem clock is used to access the register, if there is no
mem clock defined, we should use the ipg clock instead,
otherwise there will be kernel dump after system reboot.[ 3.010962] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 3.010964] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.19.35-05057-g2134d856e6b2 #2889
[ 3.010966] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 3.010968] Call trace:
[ 3.010969] dump_backtrace+0x0/0x178
[ 3.010971] show_stack+0x14/0x20
[ 3.010972] dump_stack+0x8c/0xac
[ 3.010974] panic+0x120/0x28c
[ 3.010975] __stack_chk_fail+0x0/0x18
[ 3.010977] arm64_serror_panic+0x74/0x80
[ 3.010979] do_serror+0x68/0x130
[ 3.010980] el1_error+0x7c/0xdc
[ 3.010982] _raw_spin_unlock_irqrestore+0xc/0x48
[ 3.010984] clk_core_disable_lock+0x28/0x38
[ 3.010985] clk_disable+0x1c/0x30
[ 3.010987] regmap_mmio_write+0x54/0x68
[ 3.010989] _regmap_bus_reg_write+0x14/0x20
[ 3.010990] _regmap_write+0x60/0xa8
[ 3.010992] regmap_write+0x48/0x70
[ 3.010994] fsl_asrc_probe+0x258/0x660
[ 3.010995] platform_drv_probe+0x50/0xb0Why this issue only happen at kernel reboot, it is because the ipg
clock is enabled in default after system reset, after used once, the
ipg clock is disabled, then reboot system, the issue happen.Signed-off-by: Shengjiu Wang
-
*ctrls[V4L2_MAX_CTRLS] is not actually used, and it is easy to cause
out-of-bound when add v4l2_ctrl. Hence remove it.Signed-off-by: Shijie Qin
-
There is no dependency between start_code_bypass and stream_input_mode,
should be set separately.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
29 Aug, 2019
4 commits
-
Fix the following KASAN reported issue:
==================================================================
[ 11.580278] BUG: KASAN: stack-out-of-bounds in find_next_bit+0x3c/0xc0
[ 11.586815] Read of size 8 at addr ffffffc8c8d4f760 by task swapper/0/1
[ 11.593440]
[ 11.594943] CPU: 4 PID: 1 Comm: swapper/0 Tainted: G W 4.19.35-05042-g. #157
[ 11.604259] Hardware name: Freescale i.MX8QM MEK (DT)
[ 11.609323] Call trace:
[ 11.611785] dump_backtrace+0x0/0x230
[ 11.615458] show_stack+0x14/0x20
[ 11.618787] dump_stack+0xbc/0xf4
[ 11.622118] print_address_description+0x60/0x270
[ 11.626830] kasan_report+0x230/0x360
[ 11.630505] __asan_load8+0x84/0xa8
[ 11.634005] find_next_bit+0x3c/0xc0
[ 11.637595] fsl_sai_calc_dl_off+0x1c/0x50
[ 11.641703] fsl_sai_read_dlcfg+0x184/0x368
[ 11.645898] fsl_sai_probe+0x3ec/0xb48
[ 11.649663] platform_drv_probe+0x70/0xd8
[ 11.653683] really_probe+0x24c/0x370
[ 11.657358] driver_probe_device+0x70/0x138
[ 11.661554] __driver_attach+0x124/0x128
[ 11.665489] bus_for_each_dev+0xe8/0x158
[ 11.669425] driver_attach+0x30/0x40
[ 11.673012] bus_add_driver+0x290/0x308
[ 11.676861] driver_register+0xbc/0x1d0
[ 11.680711] __platform_driver_register+0x7c/0x88
[ 11.685431] fsl_sai_driver_init+0x18/0x20
[ 11.689537] do_one_initcall+0xe8/0x5a8
[ 11.693387] kernel_init_freeable+0x6b0/0x760
[ 11.697759] kernel_init+0x10/0x120
[ 11.701255] ret_from_fork+0x10/0x18
....
==================================================================
[ 11.800186] Disabling lock debugging due to kernel taintSigned-off-by: Viorel Suman
Reviewed-by: Shengjiu Wang -
Add multi context support for bps_iec958
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 131408cc5b9f7957502c01bf3bff18c9c4b4fca0) -
support configuration of channel status for IEC958
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 92aee54f844098080c878ae59878dadab28d8ea3) -
IEC958 is only supported for output according to the RM
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit bf36888526c420776c18ca06548b9d3798200beb)
28 Aug, 2019
3 commits
-
On imx8mm gpu AXI should be 800m and AHB 400m but assigned-clock-rates
incorrectly assigned 400m to AXI and left AHB at 800m.Fixes: e744bde4148b ("MLK-21700-4 arm64: dts: imx8mm: Consolidate composite assigned-clocks")
Signed-off-by: Leonard Crestez
Reviewed-by: Abel Vesa -
On 8MQ, it seems that the panel has issues when video-mode used is with
SYNC_EVENTS (default). So, use the video-mode to (SYNC_PULSE), since
the video signal is much stable with this mode.Signed-off-by: Robert Chiras
-
Handle the case when powering down a pd with no active slave domains.
Signed-off-by: Ranjani Vaidyanathan
27 Aug, 2019
1 commit
-
there is an bug in v4l2_open,
that the dev_mutex may be not unlock in some flow,
it'll cause dead lock.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
26 Aug, 2019
4 commits
-
Fix constant variable guards dead code which is reported by coverity.
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman -
Fix logically dead code which is reported by coverity
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman -
pll BYPASS bit should be kept inside pll driver for glitchless freq
setting following spec. If exposing the bit, that means pll driver and
clk driver has two paths to touch this bit, which is wrong.So use EXT_BYPASS bit here.
And drop uneeded set parent, because EXT_BYPASS default is 0.
Suggested-by: Jacky Bai
Reviewed-by: Leonard Crestez
Signed-off-by: Peng Fan -
When registering the PLL, unbypass the PLL.
The PLL has two bypass control bit, BYPASS and EXT_BYPASS.
we will expose EXT_BYPASS to clk driver for mux usage, and keep
BYPASS inside pll14xx usage. The PLL has a restriction that
when M/P change, need to RESET/BYPASS pll to avoid glitch, so
we could not expose BYPASS.To make it easy for clk driver usage, unbypass PLL which does
not hurt current function.Reviewed-by: Leonard Crestez
Signed-off-by: Peng Fan