Something wrong with my sensor driver

I wrote the imx307 sensor driver and dts myself. It’s i2c communication is ok.
But when I run sample program:
[INFO] (NvEglRenderer.cpp:110) Setting Screen width 640 height 480
PRODUCER: Creating output stream
PRODUCER: Launching consumer thread
CONSUMER: Waiting until producer is connected…
CONSUMER: Waiting until producer is connected…
PRODUCER: Available Sensor modes :
PRODUCER: [0] W=1920 H=1080
PRODUCER: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.

Then the kernel crashed:
[ 1229.393176] host1x 50000000.host1x: cdma_handle_timeout: timeout: 22 (54680000.isp_0) client 5, HW thresh 0, done 1
[ 1229.404048] host1x 50000000.host1x: cdma_handle_timeout: timeout: 23 (54680000.isp_1) client 5, HW thresh 0, done 1
[ 1229.414883] host1x 50000000.host1x: cdma_handle_timeout: timeout: 25 (54680000.isp_3) client 5, HW thresh 1, done 1
[ 1229.425479] host1x 50000000.host1x: cdma_handle_timeout: timeout: 24 (54680000.isp_2) client 5, HW thresh 7, done 7
[ 1232.720778] mmc0: Timeout waiting for hardware interrupt.
[ 1232.726276] sdhci: =========== REGISTER DUMP (mmc0)===========
[ 1232.732171] sdhci: Sys addr: 0x000000c0 | Version: 0x00000303
[ 1232.738052] sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
[ 1232.743936] sdhci: Argument: 0x00c45f98 | Trn mode: 0x0000002b
[ 1232.749818] sdhci: Present: 0x01fb0000 | Host ctl: 0x00000017
[ 1232.755693] sdhci: Power: 0x00000001 | Blk gap: 0x00000000
[ 1232.761568] sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 1232.767443] sdhci: Timeout: 0x0000000e | Int stat: 0x00000003
[ 1232.773317] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[ 1232.779191] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[ 1232.785069] sdhci: Caps: 0x376cd08c | Caps_1: 0x10006f73
[ 1232.790944] sdhci: Cmd: 0x0000193a | Max curr: 0x00000000
[ 1232.796817] sdhci: Host ctl2: 0x0000308b
[ 1232.800789] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe420
[ 1232.807399] sdhci: ===========================================
[ 1236.304474] Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 0
[ 1236.311809] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.9.201-tegra #2
[ 1236.318391] Hardware name: NVIDIA Jetson Nano Developer Kit (DT)
[ 1236.324443] Call trace:
[ 1236.326993] [] dump_backtrace+0x0/0x198
[ 1236.332468] [] show_stack+0x24/0x30
[ 1236.337588] [] dump_stack+0xa0/0xc8
[ 1236.342710] [] panic+0x12c/0x2a8
[ 1236.347582] [] watchdog_check_hardlockup_other_cpu+0x11c/0x120
[ 1236.355043] [] watchdog_timer_fn+0x98/0x2c0
[ 1236.360855] [] __hrtimer_run_queues+0xd8/0x360
[ 1236.366922] [] hrtimer_interrupt+0xa8/0x1e0
[ 1236.372744] [] tegra210_timer_isr+0x38/0x48
[ 1236.378552] [] __handle_irq_event_percpu+0x68/0x288
[ 1236.385049] [] handle_irq_event_percpu+0x28/0x60
[ 1236.391288] [] handle_irq_event+0x50/0x80
[ 1236.396924] [] handle_fasteoi_irq+0xd4/0x1c0
[ 1236.402810] [] generic_handle_irq+0x34/0x50
[ 1236.408612] [] __handle_domain_irq+0x68/0xc0
[ 1236.414496] [] gic_handle_irq+0x5c/0xb0
[ 1236.419951] [] el1_irq+0xe8/0x194
[ 1236.424899] [] cpuidle_enter_state+0xb8/0x380
[ 1236.430886] [] cpuidle_enter+0x34/0x48
[ 1236.436253] [] call_cpuidle+0x44/0x70
[ 1236.441532] [] cpu_startup_entry+0x1b0/0x200
[ 1236.447427] [] secondary_start_kernel+0x190/0x1f8
[ 1236.453739] [<0000000084f681a4>] 0x84f681a4
[ 1236.457986] SMP: stopping secondary CPUs
[ 1238.285280] SMP: failed to stop secondary CPUs 0,3
[ 1238.290155] Kernel Offset: disabled
[ 1238.293713] Memory Limit: none
[ 1238.449770] Rebooting in 5 seconds…
[ 1243.459608] SMP: stopping secondary CPUs
[ 1245.286230] SMP: failed to stop secondary CPUs 0,3

Can someone tell me why?Thanks!