[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <95f63f24-2c8f-4f0b-89a9-ddf39a8f2e12@sirena.org.uk>
Date: Wed, 18 Jun 2025 17:21:46 +0100
From: Mark Brown <broonie@...nel.org>
To: Bartosz Golaszewski <brgl@...ev.pl>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Marek BehĂșn <kabel@...nel.org>,
Conor Dooley <conor.dooley@...rochip.com>,
Daire McNamara <daire.mcnamara@...rochip.com>,
Daniel Palmer <daniel@...ngy.jp>,
Romain Perier <romain.perier@...il.com>,
Avi Fishman <avifishman70@...il.com>,
Tomer Maimon <tmaimon77@...il.com>,
Tali Perry <tali.perry1@...il.com>,
Patrick Venture <venture@...gle.com>, Nancy Yuen <yuenn@...gle.com>,
Benjamin Fair <benjaminfair@...gle.com>,
Grygorii Strashko <grygorii.strashko@...com>,
Santosh Shilimkar <ssantosh@...nel.org>,
Kevin Hilman <khilman@...nel.org>, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, openbmc@...ts.ozlabs.org,
linux-omap@...r.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
Subject: Re: [PATCH 01/12] gpio: mmio: use new GPIO line value setter
callbacks
On Tue, Jun 10, 2025 at 02:33:11PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
>
> struct gpio_chip now has callbacks for setting line values that return
> an integer, allowing to indicate failures. Convert the driver to using
> them.
I'm seeing boot failures on a UDOOq (an i.MX6 based board) in -next
today which bisect to this patch (in -next as b908d35d0003cc7). We get
a NULL pointer dereference during boot while probing the poweroff driver
for the system:
[ 0.443319] Unable to handle kernel NULL pointer dereference at virtual address 00000000 when execute
[ 0.443330] [00000000] *pgd=00000000
[ 0.443347] Internal error: Oops: 80000005 [#2] SMP ARM
...
[ 2.522761] bgpio_dir_out_val_first from gpiod_direction_output_raw_commit+0x194/0x390
[ 2.533330] gpiod_direction_output_raw_commit from gpiod_find_and_request+0x134/0x434
[ 2.541276] gpiod_find_and_request from gpiod_get_index+0x58/0x70
[ 2.547482] gpiod_get_index from devm_gpiod_get_index+0x10/0x78
[ 2.553516] devm_gpiod_get_index from gpio_poweroff_probe+0xe8/0x174
[ 2.559990] gpio_poweroff_probe from platform_probe+0x5c/0xb4
Full boot log:
https://lava.sirena.org.uk/scheduler/job/1485011#L752
bisect log:
# bad: [6e5ab6fee68df8c40b338baeae6e269fa25a7e25] Add linux-next specific files for 20250618
# good: [94466168a05ed9aa92afdd54efcd89b3b227650d] Merge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git
# good: [3e1c01d06e1f52f78fe00ef26a9cf80dbb0a3115] regulator: rpi-panel-v2: Add shutdown hook
# good: [d9f38d9824bfb1b046d2e720349d2f45959ab184] ASoC: tegra: AHUB: Remove unneeded semicolon
# good: [dce4bc30f42d313b4dc5832316196411b7f07ad0] spi: spi-fsl-dspi: Revert unintended dependency change in config SPI_FSL_DSPI
# good: [47972c1c3315672352f25c68f91dd88543541947] ASoC: Intel: Replace deprecated strcpy() with strscpy()
# good: [5eb8a0d7733d4cd32a776acf1d1aa1c7c01c8a14] ASoC: hdmi-codec: use SND_JACK_AVOUT as jack status
# good: [bb8d8ba4715cb8f997d63d90ba935f6073595df5] ASoC: mediatek: mt8183-afe-pcm: use local `dev` pointer in driver callbacks
# good: [8a5a5cecb79058b608e5562d8998123a3adb313c] ASoC: tas2781: Move the "include linux/debugfs.h" into tas2781.h
# good: [a4eb71ff98c4792f441f108910bd829da7a04092] regulator: rpi-panel-v2: Fix missing OF dependency
# good: [6cafcc53eb5fffd9b9bdfde700bb9bad21e98ed3] spi: spi-mt65xx: Add support for MT6991 Dimensity 9400 SPI IPM
# good: [7e10d7242ea8a5947878880b912ffa5806520705] ASoC: ops: dynamically allocate struct snd_ctl_elem_value
# good: [d6fa0ca959db8efd4462d7beef4bdc5568640fd0] regulator: rpi-panel-v2: Add missing GPIOLIB dependency
# good: [d49305862fdc4d9ff1b1093b4ed7d8e0cb9971b4] regulator: rpi-panel-v2: Add regulator for 7" Raspberry Pi 720x1280
# good: [6ba68e5aa9d5d15c8877a655db279fcfc0b38b04] ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h>
# good: [1f5cdb6ab45e1c06ae0953609acbb52f8946b3e8] ASoC: codecs: Add support for Richtek RTQ9124
# good: [c459262159f39e6e6336797feb975799344b749b] spi: spi-pci1xxxx: Add support for 25MHz Clock frequency in C0
# good: [548d770c330cd1027549947a6ea899c56b5bc4e4] regulator: pca9450: Add support for mode operations
# good: [03b778d1994827ea5cc971dbdfbb457bbb7bfa5d] ASOC: rockchip: Use helper function devm_clk_get_enabled()
# good: [267be32b0a7b70cc777f8a46f0904c92c0521d89] ASoC: remove component->id
# good: [111a2c8ab462d77d1519b71b46f13ae1b46920b4] ASoC: imx-card: Use helper function for_each_child_of_node_scoped()
# good: [f6f914893d478b7ba08e5c375de1ced16deb5e92] ASoC: dt-bindings: tas57xx: add tas5753 compatibility
# good: [9a30e332c36c52e92e5316b4a012d45284dedeb5] spi: spi-fsl-dspi: Enable support for S32G platforms
# good: [c95e925daa434ee1a40a86aec6476ce588e4bd77] ASoC: Intel: avs: Add rt5640 machine board
# good: [c8c4694ede7ed42d8d4db0e8927dea9839a3e248] regmap: kunit: Constify regmap_range_cfg array
# good: [e6e8897995a9e6028563ce36c27877e5478c8571] ASoC: qcom: sm8250: Add Fairphone 5 soundcard compatible
# good: [b9ecde0bcf6a99a3ff08496d4ba90a385ebbfd68] ASoC: codecs: wcd939x: Add VDD_PX supply
# good: [ac209bde018fd320b79976657a44c23113181af6] ASoC: tas2781: Drop the unnecessary symbol imply
# good: [ece5d881004f041c2e1493436409dbcbea3ad5f8] ASoC: codecs: wcd939x: Drop unused 'struct wcd939x_priv' fields
# good: [7e17e80c3a7eb2734795f66ba946f933412d597f] Merge branch 'for-6.14/stack-order' into for-next
git bisect start '6e5ab6fee68df8c40b338baeae6e269fa25a7e25' '94466168a05ed9aa92afdd54efcd89b3b227650d' '3e1c01d06e1f52f78fe00ef26a9cf80dbb0a3115' 'd9f38d9824bfb1b046d2e720349d2f45959ab184' 'dce4bc30f42d313b4dc5832316196411b7f07ad0' '47972c1c3315672352f25c68f91dd88543541947' '5eb8a0d7733d4cd32a776acf1d1aa1c7c01c8a14' 'bb8d8ba4715cb8f997d63d90ba935f6073595df5' '8a5a5cecb79058b608e5562d8998123a3adb313c' 'a4eb71ff98c4792f441f108910bd829da7a04092' '6cafcc53eb5fffd9b9bdfde700bb9bad21e98ed3' '7e10d7242ea8a5947878880b912ffa5806520705' 'd6fa0ca959db8efd4462d7beef4bdc5568640fd0' 'd49305862fdc4d9ff1b1093b4ed7d8e0cb9971b4' '6ba68e5aa9d5d15c8877a655db279fcfc0b38b04' '1f5cdb6ab45e1c06ae0953609acbb52f8946b3e8' 'c459262159f39e6e6336797feb975799344b749b' '548d770c330cd1027549947a6ea899c56b5bc4e4' '03b778d1994827ea5cc971dbdfbb457bbb7bfa5d' '267be32b0a7b70cc777f8a46f0904c92c0521d89' '111a2c8ab462d77d1519b71b46f13ae1b46920b4' 'f6f914893d478b7ba08e5c375de1ced16deb5e92' '9a30e332c36c52e92e5316b4a012d45284dedeb5' 'c95e925daa434ee1a40a86aec6476ce588e4bd77' 'c8c4694ede7ed42d8d4db0e8927dea9839a3e248' 'e6e8897995a9e6028563ce36c27877e5478c8571' 'b9ecde0bcf6a99a3ff08496d4ba90a385ebbfd68' 'ac209bde018fd320b79976657a44c23113181af6' 'ece5d881004f041c2e1493436409dbcbea3ad5f8' '7e17e80c3a7eb2734795f66ba946f933412d597f'
# test job: [3e1c01d06e1f52f78fe00ef26a9cf80dbb0a3115] https://lava.sirena.org.uk/scheduler/job/1481662
# test job: [d9f38d9824bfb1b046d2e720349d2f45959ab184] https://lava.sirena.org.uk/scheduler/job/1481666
# test job: [dce4bc30f42d313b4dc5832316196411b7f07ad0] https://lava.sirena.org.uk/scheduler/job/1479434
# test job: [47972c1c3315672352f25c68f91dd88543541947] https://lava.sirena.org.uk/scheduler/job/1479486
# test job: [5eb8a0d7733d4cd32a776acf1d1aa1c7c01c8a14] https://lava.sirena.org.uk/scheduler/job/1474632
# test job: [bb8d8ba4715cb8f997d63d90ba935f6073595df5] https://lava.sirena.org.uk/scheduler/job/1472186
# test job: [8a5a5cecb79058b608e5562d8998123a3adb313c] https://lava.sirena.org.uk/scheduler/job/1471943
# test job: [a4eb71ff98c4792f441f108910bd829da7a04092] https://lava.sirena.org.uk/scheduler/job/1469028
# test job: [6cafcc53eb5fffd9b9bdfde700bb9bad21e98ed3] https://lava.sirena.org.uk/scheduler/job/1469031
# test job: [7e10d7242ea8a5947878880b912ffa5806520705] https://lava.sirena.org.uk/scheduler/job/1466093
# test job: [d6fa0ca959db8efd4462d7beef4bdc5568640fd0] https://lava.sirena.org.uk/scheduler/job/1464729
# test job: [d49305862fdc4d9ff1b1093b4ed7d8e0cb9971b4] https://lava.sirena.org.uk/scheduler/job/1463110
# test job: [6ba68e5aa9d5d15c8877a655db279fcfc0b38b04] https://lava.sirena.org.uk/scheduler/job/1463434
# test job: [1f5cdb6ab45e1c06ae0953609acbb52f8946b3e8] https://lava.sirena.org.uk/scheduler/job/1463022
# test job: [c459262159f39e6e6336797feb975799344b749b] https://lava.sirena.org.uk/scheduler/job/1461222
# test job: [548d770c330cd1027549947a6ea899c56b5bc4e4] https://lava.sirena.org.uk/scheduler/job/1460610
# test job: [03b778d1994827ea5cc971dbdfbb457bbb7bfa5d] https://lava.sirena.org.uk/scheduler/job/1461219
# test job: [267be32b0a7b70cc777f8a46f0904c92c0521d89] https://lava.sirena.org.uk/scheduler/job/1461158
# test job: [111a2c8ab462d77d1519b71b46f13ae1b46920b4] https://lava.sirena.org.uk/scheduler/job/1459889
# test job: [f6f914893d478b7ba08e5c375de1ced16deb5e92] https://lava.sirena.org.uk/scheduler/job/1460442
# test job: [9a30e332c36c52e92e5316b4a012d45284dedeb5] https://lava.sirena.org.uk/scheduler/job/1460919
# test job: [c95e925daa434ee1a40a86aec6476ce588e4bd77] https://lava.sirena.org.uk/scheduler/job/1461120
# test job: [c8c4694ede7ed42d8d4db0e8927dea9839a3e248] https://lava.sirena.org.uk/scheduler/job/1460230
# test job: [e6e8897995a9e6028563ce36c27877e5478c8571] https://lava.sirena.org.uk/scheduler/job/1460605
# test job: [b9ecde0bcf6a99a3ff08496d4ba90a385ebbfd68] https://lava.sirena.org.uk/scheduler/job/1460221
# test job: [ac209bde018fd320b79976657a44c23113181af6] https://lava.sirena.org.uk/scheduler/job/1460665
# test job: [ece5d881004f041c2e1493436409dbcbea3ad5f8] https://lava.sirena.org.uk/scheduler/job/1461108
# test job: [7e17e80c3a7eb2734795f66ba946f933412d597f] https://lava.sirena.org.uk/scheduler/job/1127031
# test job: [6e5ab6fee68df8c40b338baeae6e269fa25a7e25] https://lava.sirena.org.uk/scheduler/job/1485029
# bad: [6e5ab6fee68df8c40b338baeae6e269fa25a7e25] Add linux-next specific files for 20250618
git bisect bad 6e5ab6fee68df8c40b338baeae6e269fa25a7e25
# test job: [5f792b60601e6bf7a9fb037edfc565c3aae4c12d] https://lava.sirena.org.uk/scheduler/job/1485099
# good: [5f792b60601e6bf7a9fb037edfc565c3aae4c12d] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git
git bisect good 5f792b60601e6bf7a9fb037edfc565c3aae4c12d
# test job: [4753f57fb1c41066519ab573a011801bf0553cbc] https://lava.sirena.org.uk/scheduler/job/1485186
# good: [4753f57fb1c41066519ab573a011801bf0553cbc] Merge branch 'drm-xe-next' of https://gitlab.freedesktop.org/drm/xe/kernel
git bisect good 4753f57fb1c41066519ab573a011801bf0553cbc
# test job: [b8dcd86b8eadb53eb153ba69434d93f954f4e2d8] https://lava.sirena.org.uk/scheduler/job/1485312
# good: [b8dcd86b8eadb53eb153ba69434d93f954f4e2d8] Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.git
git bisect good b8dcd86b8eadb53eb153ba69434d93f954f4e2d8
# test job: [86f5e3b87e543714db4274eaaac4fe877e1943b3] https://lava.sirena.org.uk/scheduler/job/1485356
# good: [86f5e3b87e543714db4274eaaac4fe877e1943b3] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git
git bisect good 86f5e3b87e543714db4274eaaac4fe877e1943b3
# test job: [6f73eec838ac00ec82b6808bf458cfead784cf21] https://lava.sirena.org.uk/scheduler/job/1485541
# bad: [6f73eec838ac00ec82b6808bf458cfead784cf21] Merge branch 'mhi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi.git
git bisect bad 6f73eec838ac00ec82b6808bf458cfead784cf21
# test job: [3cbc2e700ace888f02a6059c9f865ef1a0743c29] https://lava.sirena.org.uk/scheduler/job/1485816
# bad: [3cbc2e700ace888f02a6059c9f865ef1a0743c29] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel.git
git bisect bad 3cbc2e700ace888f02a6059c9f865ef1a0743c29
# test job: [aaec273c7b511a7826df09123a1fd6e4896c1bfd] https://lava.sirena.org.uk/scheduler/job/1486062
# bad: [aaec273c7b511a7826df09123a1fd6e4896c1bfd] gpio: nomadik: use new GPIO line value setter callbacks
git bisect bad aaec273c7b511a7826df09123a1fd6e4896c1bfd
# test job: [7b2c2f1eb3914f5214a5b2ae966d7d7bb0057582] https://lava.sirena.org.uk/scheduler/job/1486129
# good: [7b2c2f1eb3914f5214a5b2ae966d7d7bb0057582] gpio: Use dev_fwnode() where applicable across drivers
git bisect good 7b2c2f1eb3914f5214a5b2ae966d7d7bb0057582
# test job: [d27746181905c256eced857f4b2c051ac44b0b45] https://lava.sirena.org.uk/scheduler/job/1486292
# bad: [d27746181905c256eced857f4b2c051ac44b0b45] gpio: mm-lantiq: use new GPIO line value setter callbacks
git bisect bad d27746181905c256eced857f4b2c051ac44b0b45
# test job: [367864935785382bab95f5e5a691535d28f5a21b] https://lava.sirena.org.uk/scheduler/job/1486339
# good: [367864935785382bab95f5e5a691535d28f5a21b] gpio: raspberrypi-exp: use new GPIO line value setter callbacks
git bisect good 367864935785382bab95f5e5a691535d28f5a21b
# test job: [b908d35d0003cc75d4ebf7c24a61b07d34e7f5dc] https://lava.sirena.org.uk/scheduler/job/1486428
# bad: [b908d35d0003cc75d4ebf7c24a61b07d34e7f5dc] gpio: mmio: use new GPIO line value setter callbacks
git bisect bad b908d35d0003cc75d4ebf7c24a61b07d34e7f5dc
# test job: [d03b53c9139352b744ed007bf562bd35517bacff] https://lava.sirena.org.uk/scheduler/job/1486540
# good: [d03b53c9139352b744ed007bf562bd35517bacff] dt-bindings: gpio: gpio-xilinx: Mark clocks as required property
git bisect good d03b53c9139352b744ed007bf562bd35517bacff
# first bad commit: [b908d35d0003cc75d4ebf7c24a61b07d34e7f5dc] gpio: mmio: use new GPIO line value setter callbacks
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists