26 Sep, 2019

1 commit


23 Sep, 2019

3 commits


21 Sep, 2019

1 commit

  • As DPU fetchunits support ITU601(limited range)/ITU601_FR(full range)
    and ITU709(limited range) YUV to RGB color space conversions, we may
    add color encoding and color range properties support for planes.
    Considering software backward compatibility, the default color encoding
    is set to ITU601 with full color range.

    Signed-off-by: Liu Ying
    (cherry picked from commit f491e24e65cb360fb0b3ce56f74d04fd80da77ab)

    Liu Ying
     

20 Sep, 2019

7 commits

  • This patch adds mulitple pixel blend modes for DPU plane.
    The modes are "None", "Pre-multiplied" and "Coverage".

    Signed-off-by: Liu Ying
    (cherry picked from commit 1259fedbcf2a54f58b47e8531a09b35cc60a43f7)

    Liu Ying
     
  • Now that we've already got proper default blend mode support,
    we may introduce alpha in pixel feature for overlay planes.

    Signed-off-by: Liu Ying
    (cherry picked from commit 4881b188f809d1e3de8662dff94b1b2dfc00a62a)

    Liu Ying
     
  • DPU has no limitations on the plane's zpos, so we don't
    have to limit the primary plane zpos to be zero and the
    overlay plane zpos to be non-zero.

    Signed-off-by: Liu Ying
    (cherry picked from commit 4487aca4ab19623e1995322871e6f14d48bfef74)

    Liu Ying
     
  • This patch improves bailout path of dpu_plane_init().
    As we'll add more drm properties to the planes later,
    this would simply the code.

    Signed-off-by: Liu Ying
    (cherry picked from commit 1a6ab9246b5d6e71e8a4a0a0b5ea15d7af0c9879)

    Liu Ying
     
  • Without the new blend modes("None", "Pre-multiplied" and "Coverage")
    introduced in the below commit, the old userspace assumes alpha in
    pixel is per-premultiplied by default. So, let's support the default
    blend mode properly.

    commit 468dba6432ca ("drm: Add per-plane pixel blend mode property")

    Signed-off-by: Liu Ying
    (cherry picked from commit ebb7b4874493a8fb42de636e9421877a54399177)

    Liu Ying
     
  • Pixel blend modes represent the alpha blending equation
    selection, describing how the pixels from the current
    plane are composited with the background.

    Adds a pixel_blend_mode to drm_plane_state and a
    blend_mode_property to drm_plane, and related support
    functions.

    Defines three blend modes in drm_blend.h.

    Changes since v1:
    - Moves the blending equation into the DOC comment
    - Refines the comments of drm_plane_create_blend_mode_property to not
    enumerate the #defines, but instead the string values
    - Uses fg.* instead of pixel.* and plane_alpha instead of plane.alpha
    Changes since v2:
    - Refines the comments of drm_plane_create_blend_mode_property:
    1) Puts the descriptions (after the ":") on a new line
    2) Adds explaining why @supported_modes need PREMUL as default
    Changes since v3:
    - Refines drm_plane_create_blend_mode_property(). drm_property_add_enum()
    can calculate the index itself just fine, so no point in having the
    caller pass it in.
    - Since the current DRM assumption is that alpha is premultiplied
    as default, define DRM_MODE_BLEND_PREMULTI as 0 will be better.
    - Refines some comments.
    Changes since v4:
    - Adds comments in drm_blend.h.
    - Removes setting default value in drm_plane_create_blend_mode_property()
    as it is already in __drm_atomic_helper_plane_reset().
    - Fixes to use state->pixel_blend_mode instead of using
    plane->state->pixel_blend_mode in reset function.
    - Rebases on drm-misc-next.

    Reviewed-by: Liviu Dudau
    Signed-off-by: Lowry Li
    Signed-off-by: Ayan Kumar Halder
    Reviewed-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/245734/
    (cherry picked from commit a5ec8332d4280500544e316f76c04a7adc02ce03)
    (cherry picked from commit 468dba6432ca97eedc2b8d6e6cc8905cd1e1f34e)

    Lowry Li
     
  • There are a lot of drivers that subclass drm_plane_state, all of them
    duplicate the code that links together the plane with plane_state.

    On top of that, drivers that enable core properties also have to
    duplicate the code for initializing the properties to their default
    values, which in all cases are the same as the defaults from core.

    Change since v1:
    - Make it consistent with the other helpers and require that both
    plane and state not be NULL, suggested by Boris Brezillon and
    Philipp Zabel.

    Reviewed-by: Laurent Pinchart
    Signed-off-by: Alexandru Gheorghe
    Reviewed-by: Philipp Zabel
    Link: https://patchwork.freedesktop.org/patch/msgid/20180804161530.12275-2-alexandru-cosmin.gheorghe@arm.com
    (cherry picked from commit 7f4de521001f4ea705d505c9f91f58d0f56a0e6d)
    (cherry picked from commit f09b192bf1316f0e65fa2dbb5ba4c82a558867ae)

    Alexandru Gheorghe
     

17 Sep, 2019

1 commit

  • Problems:
    - GPU hang when run Google Earth apk on 8MM EVK board
    - Android DEQP/SKQP CTS have random failures
    - Khronos ES20 CTS have random failures

    Analysis:
    GPU got stuck in shader module when process specific data format,
    this is caused by VSI GCNanoUltra Errata(HBN1286), which does not set
    the specific intermediate register to 0 in hardware reset sequence after power up,
    this wrong register will cause the unexpected result when process specific data type,
    wrong behavior will happen and may cause out of bound access in shader programming.

    Fix:
    GPU driver will submit the predefined command(dummy draw) with fake stream and shader,
    also set scissor with (0,0,0,0) to avoid draw out, no pixel output on hardware pipeline,
    this workaround can set the specific register to 0 as the effective SW remedy.

    Impact:
    No obvious functionality and performance impact with dummy draw workaround,
    it only takes several cycles in command fetch --> vertex shader --> primitive,
    and then cull out of reset of GPU pipelines.

    This patch can fix the same GPU problem for 7ULP.

    Signed-off-by: Xianzhong
    (cherry picked from commit b14813c419b1f733c0945e99fc403b7a25774d24)

    Xianzhong
     

16 Sep, 2019

2 commits

  • The CRTC background should be full screen instead of partial
    screen, because the DRM core is likely to add configurable
    background color support in the future. We may cover the full
    screen with ConstFrame0/1, upon which builds planes. With this,
    it is easier to compute each plane's layer offset vs CRTC start
    point and all ConstFrame units can be controlled by CRTC.

    Signed-off-by: Liu Ying
    (cherry picked from commit ba18a9874cf010032413ca70f9b358399a143037)

    Liu Ying
     
  • By correcting plane's ExtDst source in ->atomic_begin() for
    cases where pixel combiner is used, commit[1] acctually fixes
    the primary plane on-the-fly disablement failure issue which
    commit[2] tries to address. So, let's revert commit[2] and
    allow primary plane on-the-fly disablement.

    [1] commit 2f3eaadf72c3 ("MLK-22584 drm/imx: dpu: crtc: Correct plane's ExtDst source in ->atomic_begin()")
    [2] commit 6477bb1492b7 ("MLK-21525 drm/imx: dpu: kms: Disallow primary plane on-the-fly disablement")

    Revert "MLK-21525 drm/imx: dpu: kms: Disallow primary plane on-the-fly disablement"

    This reverts commit 6477bb1492b7ac89678891447f3d794e4fdb6df6.

    Signed-off-by: Liu Ying
    (cherry picked from commit 148075a270dafa0a04f1c9b61d62e2764e469cf3)

    Liu Ying
     

12 Sep, 2019

6 commits

  • Change DMA_BUF_IOCTL_PHYS NR to 10 avoid conflicts with upstream
    in the future.

    Reviewed-by: Song Bing
    Signed-off-by: Dong Aisheng
    (cherry picked from commit 36abba8f55078424e037e7f7877e9f22062cccbc)

    Dong Aisheng
     
  • change DRM_FORMAT_MOD_VENDOR_VSI to 0xf1 to avoid conflicts
    with upstream in the future.

    Reviewed-by: Liu Ying
    Signed-off-by: Dong Aisheng
    (cherry picked from commit aa4bedcc4c316d8d9400c3709840d5622e64e9b8)

    Dong Aisheng
     
  • change DRM_FORMAT_MOD_VENDOR_AMPHION to 0xf0 to avoid conflicts
    with upstream in the future.

    Reviewed-by: Liu Ying
    Signed-off-by: Dong Aisheng
    (cherry picked from commit c91d6eb654f557f683e5cdd44181581adbe15378)

    Dong Aisheng
     
  • In dpu_helper_funcs->atomic_begin(), we temporarily set the plane's
    ExtDst source to ConstFrame in shadow. In the plane driver,
    dpu_plane_helper_funcs->atomic_update() can update the shadow if
    necessary. This way, we may set the source as either ConstFrame
    or LayerBlend. We only set the source for the old top plane in
    ->atomic_begin(). However, in cases where pixel combiner is used,
    the top planes are tracked separately for the master stream and
    the slave stream with ->is_left_top or ->is_right_top flags
    instead of ->is_top flag when pixel combiner is not used. This
    patch corrects the source for the cases where pixel combiner is
    used.

    Signed-off-by: Liu Ying
    (cherry picked from commit ff19118af177bab2dc765b242cf5b4392910a5e7)

    Liu Ying
     
  • The bit DIV0 of register STORE9_STATIC is used as a control bit
    to fix the unsynchronization issue bewteen two display streams
    in FrameGen side-by-side mode, which is introduced from an ECO
    operation for the display controller. The bit has to be one
    when the side-by-side mode is enabled. And, it has to be zero
    when the mode is disabled, otherwise, a single display stream
    cannot startup correctly. Since the DPU common driver initializes
    the register for us at the driver probe stage and system resume
    stage, we may remove the same initialization logic of our own.
    Without this patch, as the DPU blit engine DRM driver is resumed
    relatively late, the bit would be overwritten to be zero at the
    driver's ->resume() callback, which causes the display controller
    cannot be correctly resumed from FrameGen side-by-side mode and
    content ExtDst shadow load done event from the slave stream won't
    come.

    Signed-off-by: Liu Ying
    (cherry picked from commit 785a8705624e114f4f3d3d0836826130fb57b46f)

    Liu Ying
     
  • The bit DIV0 of register STORE9_STATIC is used as a control bit
    to fix the unsynchronization issue bewteen two display streams
    in FrameGen side-by-side mode, which is introduced from an ECO
    operation for the display controller. The bit has to be one
    when the side-by-side mode is enabled. And, it has to be zero
    when the mode is disabled, otherwise, a single display stream
    cannot startup correctly. As Store9 is a part of blit engine,
    the rest bits of the register should also be initialized before
    any regular blit. Currently, we need to do the initialization
    at driver probe stage and system resume stage at least. Since
    we have the DPU KMS driver and DPU blit engine DRM driver, the
    initialization needs to be done only in the DPU common driver
    so that the register won't be overwritten accidentally by the
    two drivers with each other. We see the overwriting issue at
    the system resume stage because the blit engine driver resumes
    relatively late and it initializes the register blindly by
    writing the bit to zero, thus the display controller cannot be
    resumed correctly in FrameGen side-by-side mode and content
    ExtDst shadow load done event from the slave stream won't come.

    Signed-off-by: Liu Ying
    (cherry picked from commit e90a6a917e3f5d7087e0de5616b6e8a055906767)

    Liu Ying
     

11 Sep, 2019

2 commits


10 Sep, 2019

3 commits


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)

    Christoph Paasch
     
  • [ 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)

    Eric Dumazet
     
  • [ 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.15

    Note 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)

    Eric Dumazet
     
  • 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)

    Eric Dumazet
     
  • 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)

    Eric Dumazet
     
  • 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)

    Eric Dumazet
     
  • 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 space

    Signed-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)

    Eric Dumazet
     
  • 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 : 48

    An 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)

    Eric Dumazet
     
  • [ 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)

    Eric Dumazet
     

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_ctrl

    These 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

    Pawel Laszczak
     

30 Aug, 2019

4 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

    Mirela Rabulea
     
  • 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

    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 : ffff8008f7738010

    X0: 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 ffff8008

    X1: 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 00000000

    X19: 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 00000000

    X20: 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 ffff0000

    X22: 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 ffff8008

    X25: 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 ffff8008

    X26: 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 ffff0000

    X27: 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 ffff8008

    X28: 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 00000000

    Process 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,4

    Reviewed-by: Jun Li
    Signed-off-by: Peter Chen

    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 : 000000000000004e

    X20: 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 ffff8008

    X21: 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 00000000

    X23: 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 ffff8008

    X28: 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 ffff0000

    Call 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

    Peter Chen