• Xiaolei Wang's avatar
    dmaengine: fsl-edma: Do not suspend and resume the masked dma channel when the system is sleeping · 2838a897
    Xiaolei Wang authored
    Some channels may be masked. When the system is suspended,
    if these masked channels are not filtered out, this will
    lead to null pointer operations and system crash:
    
    Unable to handle kernel NULL pointer dereference at virtual address
    Mem abort info:
    ESR = 0x0000000096000004
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
    FSC = 0x04: level 0 translation fault
    Data abort info:
    ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
    CM = 0, WnR = 0, TnD = 0, TagAccess = 0
    GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
    user pgtable: 4k pages, 48-bit VAs, pgdp=0000000894300000
    [00000000000002a0] pgd=0000000000000000, p4d=0000000000000000
    Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 1 PID: 989 Comm: sh Tainted: G B 6.6.0-16203-g557fb7a3ec4c-dirty #70
    Hardware name: Freescale i.MX8QM MEK (DT)
    pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      pc: fsl_edma_disable_request+0x3c/0x78
      lr: fsl_edma_disable_request+0x3c/0x78
      sp:ffff800089ae7690
      x29: ffff800089ae7690 x28: ffff000807ab5440 x27: ffff000807ab5830
      x26: 0000000000000008 x25: 0000000000000278 x24: 0000000000000001
      23: ffff000807ab4328 x22: 0000000000000000 x21: 0000000000000009
      x20: ffff800082616940 x19: 0000000000000000 x18: 0000000000000000
      x17: 3d3d3d3d3d3d3d3d x16: 3d3d3d3d3d3d3d3d x15: 3d3d3d3d3d3d3d3d
      x14: 3d3d3d3d3d3d3d3d x13: 3d3d3d3d3d3d3d3d x12: 1ffff00010d45724
      x11: ffff700010d45724 x10: dfff800000000000 x9: dfff800000000000
      x8: 00008fffef2ba8dc x7: 0000000000000001 x6: ffff800086a2b927
      x5: ffff800086a2b920 x4: ffff700010d45725 x3: ffff8000800d5bbc
      x2 : 0000000000000000 x1 : ffff000800c1d880 x0 : 0000000000000001
      Call trace:
       fsl_edma_disable_request+0x3c/0x78
       fsl_edma_suspend_late+0x128/0x12c
      dpm_run_callback+0xd4/0x304
       __device_suspend_late+0xd0/0x240
      dpm_suspend_late+0x174/0x59c
      suspend_devices_and_enter+0x194/0xd00
      pm_suspend+0x3c4/0x910
    
    Fixes: 72f5801a ("dmaengine: fsl-edma: integrate v3 support")
    Signed-off-by: default avatarXiaolei Wang <xiaolei.wang@windriver.com>
    Link: https://lore.kernel.org/r/20231113225713.1892643-2-xiaolei.wang@windriver.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
    2838a897
fsl-edma-main.c 19.2 KB