# git rev-parse -q --verify fad87dbd48156ab940538f052f1820f4b6ed2819^{commit} fad87dbd48156ab940538f052f1820f4b6ed2819 already have revision, skipping fetch # git checkout -q -f -B kisskb fad87dbd48156ab940538f052f1820f4b6ed2819 # git clean -qxdf # < git log -1 # commit fad87dbd48156ab940538f052f1820f4b6ed2819 # Author: Nathan Lynch # Date: Thu Feb 22 16:19:14 2024 -0600 # # powerpc/rtas: use correct function name for resetting TCE tables # # The PAPR spec spells the function name as # # "ibm,reset-pe-dma-windows" # # but in practice firmware uses the singular form: # # "ibm,reset-pe-dma-window" # # in the device tree. Since we have the wrong spelling in the RTAS # function table, reverse lookups (token -> name) fail and warn: # # unexpected failed lookup for token 86 # WARNING: CPU: 1 PID: 545 at arch/powerpc/kernel/rtas.c:659 __do_enter_rtas_trace+0x2a4/0x2b4 # CPU: 1 PID: 545 Comm: systemd-udevd Not tainted 6.8.0-rc4 #30 # Hardware name: IBM,9105-22A POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NL1060_028) hv:phyp pSeries # NIP [c0000000000417f0] __do_enter_rtas_trace+0x2a4/0x2b4 # LR [c0000000000417ec] __do_enter_rtas_trace+0x2a0/0x2b4 # Call Trace: # __do_enter_rtas_trace+0x2a0/0x2b4 (unreliable) # rtas_call+0x1f8/0x3e0 # enable_ddw.constprop.0+0x4d0/0xc84 # dma_iommu_dma_supported+0xe8/0x24c # dma_set_mask+0x5c/0xd8 # mlx5_pci_init.constprop.0+0xf0/0x46c [mlx5_core] # probe_one+0xfc/0x32c [mlx5_core] # local_pci_probe+0x68/0x12c # pci_call_probe+0x68/0x1ec # pci_device_probe+0xbc/0x1a8 # really_probe+0x104/0x570 # __driver_probe_device+0xb8/0x224 # driver_probe_device+0x54/0x130 # __driver_attach+0x158/0x2b0 # bus_for_each_dev+0xa8/0x120 # driver_attach+0x34/0x48 # bus_add_driver+0x174/0x304 # driver_register+0x8c/0x1c4 # __pci_register_driver+0x68/0x7c # mlx5_init+0xb8/0x118 [mlx5_core] # do_one_initcall+0x60/0x388 # do_init_module+0x7c/0x2a4 # init_module_from_file+0xb4/0x108 # idempotent_init_module+0x184/0x34c # sys_finit_module+0x90/0x114 # # And oopses are possible when lockdep is enabled or the RTAS # tracepoints are active, since those paths dereference the result of # the lookup. # # Use the correct spelling to match firmware's behavior, adjusting the # related constants to match. # # Signed-off-by: Nathan Lynch # Fixes: 8252b88294d2 ("powerpc/rtas: improve function information lookups") # Reported-by: Gaurav Batra # Signed-off-by: Michael Ellerman # Link: https://msgid.link/20240222-rtas-fix-ibm-reset-pe-dma-window-v1-1-7aaf235ac63c@linux.ibm.com # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 fad87dbd48156ab940538f052f1820f4b6ed2819 # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_44x_warp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 44x/warp_defconfig # < make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_44x_warp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_44x_warp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_44x_warp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/platforms/44x/warp.c:109:15: error: variable 'warp_gpio_leds' has initializer but incomplete type static struct platform_device warp_gpio_leds = { ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:110:2: error: unknown field 'name' specified in initializer .name = "leds-gpio", ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:110:10: error: excess elements in struct initializer [-Werror] .name = "leds-gpio", ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:110:10: note: (near initialization for 'warp_gpio_leds') /kisskb/src/arch/powerpc/platforms/44x/warp.c:111:2: error: unknown field 'id' specified in initializer .id = -1, ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:111:8: error: excess elements in struct initializer [-Werror] .id = -1, ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:111:8: note: (near initialization for 'warp_gpio_leds') /kisskb/src/arch/powerpc/platforms/44x/warp.c:112:2: error: unknown field 'dev' specified in initializer .dev = { ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:112:9: error: extra brace group at end of initializer .dev = { ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c:112:9: note: (near initialization for 'warp_gpio_leds') /kisskb/src/arch/powerpc/platforms/44x/warp.c:112:9: error: excess elements in struct initializer [-Werror] /kisskb/src/arch/powerpc/platforms/44x/warp.c:112:9: note: (near initialization for 'warp_gpio_leds') /kisskb/src/arch/powerpc/platforms/44x/warp.c: In function 'pika_setup_leds': /kisskb/src/arch/powerpc/platforms/44x/warp.c:197:11: error: implicit declaration of function 'platform_device_register' [-Werror=implicit-function-declaration] error = platform_device_register(&warp_gpio_leds); ^ /kisskb/src/arch/powerpc/platforms/44x/warp.c: At top level: cc1: error: unrecognized command line option '-Wno-shift-negative-value' [-Werror] cc1: all warnings being treated as errors make[6]: *** [/kisskb/src/scripts/Makefile.build:243: arch/powerpc/platforms/44x/warp.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:481: arch/powerpc/platforms/44x] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:481: arch/powerpc/platforms] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:481: arch/powerpc] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/Makefile:1921: .] Error 2 make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_44x_warp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/powerpc-fixes_44x_warp_defconfig_powerpc-gcc5 # Build took: 0:00:27.301861