Re: Oops in ssi (through nokia-modem)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 03/12/2021 21:25, Sebastian Reichel wrote:
> Hi,
> 
> No idea (I have not booted my N900 for some time). Newer kernel might
> just have slowed down or speed up things and uncovered a race condition.
> IIRC the dma_mask warning is old and not a huge issue.
> 
> What is IRQ #26 according to /proc/cpuinfo?

I am assuming you meant /proc/interrupts:

	26:          0      INTC  10 Edge      l3-app-irq

Full list at [1].

> Finally for the NULL pointer dereference in ssi_gdd_tasklet it would
> help to run the stacktrace through "scripts/decode_stacktrace.sh",
> so that we get exact line numbers.

See [2] - but I had to path scripts/decode_stacktrace.sh to fix the
module names [3], so take them with a grain salt.

> Have you tried bisecting this?

I will attempt that next.

Cheers,
Merlijn

[1]

> # cat /proc/interrupts
>            CPU0
>  19:          0      INTC   3 Edge      arm-pmu
>  23:          1      INTC   7 Edge      TWL4030-PIH
>  25:          0      INTC   9 Edge      l3-debug-irq
>  26:          0      INTC  10 Edge      l3-app-irq
>  29:      30756      INTC  13 Edge      omap-dma-engine
>  36:          0      INTC  20 Edge      gpmc
>  37:        913      INTC  21 Edge      SGX ISR
>  40:          0      INTC  24 Edge      480bd400.mmu
>  41:       2404      INTC  25 Edge      OMAP DISPC
>  45:          0      INTC  29 Edge      48310000.gpio
>  46:       7804      INTC  30 Edge      49050000.gpio
>  47:          0      INTC  31 Edge      49052000.gpio
>  48:          0      INTC  32 Edge      49054000.gpio
>  49:          0      INTC  33 Edge      49056000.gpio
>  50:          0      INTC  34 Edge      49058000.gpio
>  53:      73596      INTC  37 Edge      clockevent
>  64:          0      INTC  48 Edge      480ba000.spi
>  65:          0      INTC  49 Edge      480c3000.sham
>  72:      50013      INTC  56 Edge      48070000.i2c
>  73:       1510      INTC  57 Edge      48072000.i2c
>  77:          3      INTC  61 Edge      48060000.i2c
>  81:          0      INTC  65 Edge      48098000.spi
>  82:          0      INTC  66 Edge      4809a000.spi
>  83:          1      INTC  67 Edge      SSI PORT
>  87:          0      INTC  71 Edge      gdd_mpu
>  90:       1461      INTC  74 Edge      49020000.serial
>  92:          1      INTC  76 Edge      ohci_hcd:usb1
>  99:      20334      INTC  83 Edge      mmc0
> 102:        630      INTC  86 Edge      mmc1
> 107:          0      INTC  91 Edge      480b8000.spi
> 112:      53048      PRCM     Edge      pm_wkup
> 121:          0      PRCM     Edge      pinctrl, pinctrl, pinctrl, pm_io
> 144:          0   pinctrl 366 Edge      49020000.serial:wakeup
> 146:          0   twl4030   0 Edge      twl4030_gpio
> 147:          0   twl4030   1 Edge      48070000.i2c:twl@48:keypad
> 149:          0   twl4030   3 Edge      twl4030_madc
> 151:          1   twl4030   5 Edge      twl4030_power
> 154:          0   twl4030   8 Edge      twl4030_pwrbutton
> 157:          1   twl4030  11 Edge      rtc0
> 181:          0  49056000.gpio  23 Edge      SSI cawake
> 182:          0  49054000.gpio   4 Edge      tsc200x
> 183:          0  49054000.gpio  14 Edge      Camera Lens Cover
> 184:          0  49052000.gpio   4 Edge      Camera Focus
> 185:          0  49052000.gpio   5 Edge      Camera Capture
> 186:          0  49054000.gpio  17 Edge      Lock Button
> 187:          0  49052000.gpio   7 Edge      Keypad Slide
> 188:          0  49052000.gpio  25 Edge      Proximity Sensor
> 189:          0  49058000.gpio   0 Edge      Machine Cover
> 190:       7804  49050000.gpio  10 Edge      wl1251
> 191:          0  49052000.gpio   8 Edge      modem_rst_ind
> Err:          0


[2]

> $ cat trace.txt | ARCH=arm CROSS_COMPILE=armv7a-hardfloat-linux-gnueabi- ./scripts/decode_stacktrace.sh vmlinux auto modout/lib/modules/5.15.2-00596-g511bae76ff39-dirty
> [  221.321380] 8<--- cut here ---
> [  221.324462] Unable to handle kernel NULL pointer dereference at virtual address 00000000
> [  221.332641] pgd = 70c7579d
> [  221.335388] [00000000] *pgd=00000000
> [  221.339019] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
> [  221.344573] Modules linked in: cbc aes_arm_bs crypto_simd cryptd aes_arm aes_generic ccm bluetooth ecdh_generic ecc libaes zram zsmalloc cmt_speech nokia_modem ssi_protocol phonet joydev mousedev evdev hsi_char wl1251_spi wl1251 mac80211 libarc4 omap3_rom_rng ir_rx51 isp1704_charger rng_core rc_core snd_soc_rx51 udc_core leds_gpio sha256_generic pvrsrvkm_omap3_sgx530_121 libsha256 sha256_arm gpio_keys display_connector pwm_omap_dmtimer cpufreq_dt snd_soc_omap_mcbsp snd_soc_ti_sdma snd_soc_tpa6130a2 cfg80211 snd_soc_core snd_pcm_dmaengine omap_sham crypto_engine snd_pcm snd_timer snd leds_lp5523 soundcore leds_lp55xx_common panel_sony_acx565akm bq2415x_charger bq27xxx_battery_i2c tsc2005 led_class tsc200x_core bq27xxx_battery omap_mailbox ohci_platform rtc_twl ohci_hcd ehci_hcd st_accel_i2c twl4030_pwrbutton st_sensors_i2c st_accel pwm_twl st_sensors pwm_twl_led industrialio_triggered_buffer usbcore twl4030_madc kfifo_buf omapdrm twl4030_charger twl4030_keypad industrialio matrix_keymap
> [  221.345306]  usb_common drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea drm omap_ssi hsi drm_panel_orientation_quirks cec
> [  221.448211] CPU: 0 PID: 647 Comm: irq/83-SSI PORT Tainted: G        W         5.15.2-00596-g511bae76ff39-dirty #8
> [  221.458526] Hardware name: Nokia RX-51 board
> [  221.462829] PC is at ssi_gdd_tasklet (./include/linux/list.h:73) omap_ssi
> [  221.468444] LR is at _raw_spin_unlock (./arch/arm/include/asm/thread_info.h:87)
> [  221.473022] pc : lr : psr: 20060013
> [  221.479339] sp : c3cfbdf0  ip : 00000000  fp : 00000122
> [  221.484588] r10: 00000100  r9 : 00000806  r8 : c485a800
> [  221.489837] r7 : 00000000  r6 : 00000000  r5 : c30f7340  r4 : c4f0bd00
> [  221.496398] r3 : 00000000  r2 : 00000000  r1 : c0f05228  r0 : c48abe40
> [  221.502990] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
> [  221.510162] Control: 10c5387d  Table: 84bac019  DAC: 00000051
> [  221.515930] Register r0 information: slab kmalloc-512 start c48abe00 pointer offset 64 size 512
> [  221.524749] Register r1 information: non-slab/vmalloc memory
> [  221.530456] Register r2 information: NULL pointer
> [  221.535186] Register r3 information: NULL pointer
> [  221.539947] Register r4 information: slab kmalloc-64 start c4f0bd00 pointer offset 0 size 64
> [  221.548461] Register r5 information: slab kmalloc-256 start c30f7300 pointer offset 64 size 256
> [  221.557250] Register r6 information: NULL pointer
> [  221.562011] Register r7 information: NULL pointer
> [  221.566741] Register r8 information: slab kmalloc-1k start c485a800 pointer offset 0 size 1024
> [  221.575439] Register r9 information: non-paged memory
> [  221.580535] Register r10 information: non-paged memory
> [  221.585723] Register r11 information: non-paged memory
> [  221.590881] Register r12 information: NULL pointer
> [  221.595733] Process irq/83-SSI PORT (pid: 647, stack limit = 0x58d4b081)
> [  221.602478] Stack: (0xc3cfbdf0 to 0xc3cfc000)
> [  221.606872] bde0:                                     00000000 c1805e00 c1805e50 00000001
> [  221.615081] be00: c3ca4000 c48abe40 00000001 00000008 fa058000 c30f7340 00000000 c30f7354
> [  221.623321] be20: 00000000 00000000 c30f7358 cfb4d330 00000000 00000000 c3cfa000 c0140f98
> [  221.631561] be40: 00000001 c0f03080 00000000 c0ff8160 00000101 c0cc6434 00000203 c0101304
> [  221.639770] be60: c3cfa000 c485a800 0000000a ffffe144 bf01f9ec 00208040 00000201 c3cfa000
> [  221.648010] be80: 60060013 c48abe40 c48abe5c c48abe5c c30f7340 c485a800 01000100 c0140a10
> [  221.656249] bea0: 00000001 ffffe000 c48abe40 c0140b18 c4f0bd00 00000000 c48abe40 bf01f9ec
> [  221.664459] bec0: bf01f928 c61c4c00 c48abe64 c48abe40 00000001 c48abe5c c30f7340 c485a800
> [  221.672698] bee0: 01000100 bf01fdd4 00000000 c485a410 00000000 00000000 00000001 c48abe40
> [  221.680938] bf00: 00000001 c48abea4 c485a800 00000001 00000000 bf01ffb0 00000004 fa058000
> [  221.689147] bf20: 00000000 c3867980 c1835b00 c38679a4 00000001 c1835b00 c3867980 c01a2dec
> [  221.697387] bf40: 00000000 c01a2e08 00000000 c3cfa000 c38679a4 c01a3054 00000000 c01a2b98
> [  221.705627] bf60: 00000000 56f1b382 00000000 c48ad080 c3cfa000 c48ad040 c01a2efc c3867980
> [  221.713836] bf80: c35bbca4 c48ad060 00000000 c015e9d0 c48ad080 c015e87c 00000000 00000000
> [  221.722076] bfa0: 00000000 00000000 00000000 c0100150 00000000 00000000 00000000 00000000
> [  221.730316] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [  221.738525] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
> [  221.746765] (ssi_gdd_tasklet [omap_ssi]) from tasklet_action_common.constprop.0 (kernel/softirq.c:878)
> [  221.757476] (tasklet_action_common.constprop.0) from __do_softirq (./include/linux/atomic/atomic-instrumented.h:28)
> [  221.767120] (__do_softirq) from do_softirq (./include/asm-generic/softirq_stack.h:11)
> [  221.774597] (do_softirq) from __local_bh_enable_ip (kernel/softirq.c:383)
> [  221.782836] (__local_bh_enable_ip) from ssi_async (drivers/hsi/controllers/omap_ssi_port.c:410) omap_ssi])
> [  221.791961] (ssi_async [omap_ssi]) from ssi_pio_complete (drivers/hsi/controllers/omap_ssi_port.c:954) omap_ssi])
> [  221.801818] (ssi_pio_complete [omap_ssi]) from ssi_pio_thread (drivers/hsi/controllers/omap_ssi_port.c:976) omap_ssi])
> [  221.812011] (ssi_pio_thread [omap_ssi]) from irq_thread_fn (kernel/irq/manage.c:1199)
> [  221.820861] (irq_thread_fn) from irq_thread (kernel/irq/manage.c:1279)
> [  221.828582] (irq_thread) from kthread (kernel/kthread.c:319)
> [  221.835784] (kthread) from ret_from_fork (arch/arm/kernel/entry-common.S:147)
> [  221.843048] Exception stack(0xc3cfbfb0 to 0xc3cfbff8)
> [  221.848144] bfa0:                                     00000000 00000000 00000000 00000000
> [  221.856353] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [  221.864593] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
> [ 221.871246] Code: e58040b0 e5841000 e59f1084 e5842004 (e5824000)
> All code
> ========
>    0:	e58040b0 	str	r4, [r0, #176]	; 0xb0
>    4:	e5841000 	str	r1, [r4]
>    8:	e59f1084 	ldr	r1, [pc, #132]	; 0x94
>    c:	e5842004 	str	r2, [r4, #4]
>   10:*	e5824000 	str	r4, [r2]	        <-- trapping instruction
> 
> Code starting with the faulting instruction
> ===========================================
>    0:	e5824000 	str	r4, [r2]
> [  221.877441] sched: RT throttling activated
> [  221.877532] ---[ end trace 9743f51737b4ffb3 ]---

[3]

For some reason the $module was "omap_ssi])" so it failed to find the
module with find.

> diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh
> index 5fbad61fe490..686bae46c665 100755
> --- a/scripts/decode_stacktrace.sh
> +++ b/scripts/decode_stacktrace.sh
> @@ -61,6 +61,7 @@ find_module() {
>  	fi
> 
>  	if [[ "$modpath" != "" ]] ; then
> +        module=$(echo $module | sed 's/])//')
>  	        for fn in $(find "$modpath" -name "${module//_/[-_]}.ko*") ; do
>  		                if readelf -WS "$fn" | grep -qwF .debug_line ; then
>  		                        echo $fn




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux