MLK-25335 dma: pxp: fix kernel dump for pxp device
dma API(s) can't use NULL device because of following patch:
d7e02a9312
dma-mapping: remove leftover NULL device support
this patch uses pxp_dev instead of NULL device to resolve kernel dump.
[ 445.484900] 8<--- cut here ---
[ 445.488002] Unable to handle kernel NULL pointer dereference at virtual address 0000015c
[ 445.512965] pgd = 2afadd37
[ 445.515707] [0000015c] *pgd=00000000
[ 445.521436] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[ 445.526776] Modules linked in: 8021q mx6s_capture ov5640_camera_v2
[ 445.532993] CPU: 0 PID: 2117 Comm: vqueue:src Not tainted 5.4.70-2.3.0+g4f2631b022d8 #1
[ 445.541006] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 445.547214] PC is at pxp_device_ioctl+0xc64/0xe80
[ 445.551933] LR is at pxp_buffer_object_lookup+0x30/0x38
[ 445.557169] pc : [<80550e20>] lr : [<8054fd00>] psr: 60000013
[ 445.563446] sp : 93bffea8 ip : 908a03ac fp : 76957ff8
[ 445.568681] r10: 00000036 r9 : 93bfe000 r8 : 93b04540
[ 445.573917] r7 : 939d78c0 r6 : 80085007 r5 : 939d77c0 r4 : 00000000
[ 445.580454] r3 : 00000001 r2 : 00000000 r1 : 00000002 r0 : 939d77c0
[ 445.586993] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 445.594140] Control: 10c5387d Table: 93bd806a DAC: 00000051
[ 445.599904] Process vqueue:src (pid: 2117, stack limit = 0xcf85841b)
[ 445.606270] Stack: (0x93bffea8 to 0x93c00000)
[ 445.610645] fea0: 73800000 8020a840 93ab8800 81304f08 739bc000 93ab8800
[ 445.618841] fec0: 93b8f840 739bc000 93b0fa80 8020eddc 93ab8800 00000002 00000001 00100c00
[ 445.627037] fee0: 00000000 93bffee8 00000000 81304f08 00000008 741d7ff4 926428d0 80085007
[ 445.635234] ff00: 741d7ff4 93b04540 93bfe000 00000036 76957ff8 80256c3c 93ab8800 0000010a
[ 445.643430] ff20: 00000106 00000000 00000000 93b8f840 00000001 80210c20 000001e7 00000000
[ 445.651626] ff40: 0009a100 93b8f848 93bfff54 0001c200 93bfff7c 00000001 93b04540 0000000b
[ 445.659822] ff60: 00000001 00004000 93adc200 81304f08 93b04541 0000000b 80085007 741d7ff4
[ 445.668019] ff80: 93b04540 93bfe000 00000036 8025716c 75742980 743caee0 01a152e0 00000036
[ 445.676214] ffa0: 80101204 80101000 75742980 743caee0 0000000b 80085007 741d7ff4 743cb004
[ 445.684410] ffc0: 75742980 743caee0 01a152e0 00000036 00000002 741d8064 741d81d4 76957ff8
[ 445.692605] ffe0: 743caf40 741d7fd4 743b88d1 76d2cfe8 80000030 0000000b 00000000 00000000
[ 445.700820] [<80550e20>] (pxp_device_ioctl) from [<80256c3c>] (do_vfs_ioctl+0x404/0x900)
[ 445.708936] [<80256c3c>] (do_vfs_ioctl) from [<8025716c>] (ksys_ioctl+0x34/0x60)
[ 445.716355] [<8025716c>] (ksys_ioctl) from [<80101000>] (ret_fast_syscall+0x0/0x54)
[ 445.724023] Exception stack(0x93bfffa8 to 0x93bffff0)
[ 445.729091] ffa0: 75742980 743caee0 0000000b 80085007 741d7ff4 743cb004
[ 445.737287] ffc0: 75742980 743caee0 01a152e0 00000036 00000002 741d8064 741d81d4 76957ff8
[ 445.745477] ffe0: 743caf40 741d7fd4 743b88d1 76d2cfe8
[ 445.750550] Code: e595100c e3a00000 e12fff34 eafffd39 (e594315c)
[ 445.773509] ---[ end trace a4bb9353c99e0cef ]---
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: G.n. Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 65430960442dff55b1b086f2ed3caf06a2e7dbb8)
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
This commit is contained in:
parent
2ec117e72a
commit
5cead2a105
|
@ -770,17 +770,17 @@ static long pxp_device_ioctl(struct file *filp,
|
|||
|
||||
switch (flush.type) {
|
||||
case CACHE_CLEAN:
|
||||
dma_sync_single_for_device(NULL, obj->offset,
|
||||
dma_sync_single_for_device(pxp_dev, obj->offset,
|
||||
obj->size, DMA_TO_DEVICE);
|
||||
break;
|
||||
case CACHE_INVALIDATE:
|
||||
dma_sync_single_for_device(NULL, obj->offset,
|
||||
dma_sync_single_for_device(pxp_dev, obj->offset,
|
||||
obj->size, DMA_FROM_DEVICE);
|
||||
break;
|
||||
case CACHE_FLUSH:
|
||||
dma_sync_single_for_device(NULL, obj->offset,
|
||||
dma_sync_single_for_device(pxp_dev, obj->offset,
|
||||
obj->size, DMA_TO_DEVICE);
|
||||
dma_sync_single_for_device(NULL, obj->offset,
|
||||
dma_sync_single_for_device(pxp_dev, obj->offset,
|
||||
obj->size, DMA_FROM_DEVICE);
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue