Bug 208197

Summary: OF: /pci@f2000000/mac-io@17/gpio@50/...: could not find phandle
Product: Platform Specific/Hardware Reporter: Erhard F. (erhard_f)
Component: PPC-32Assignee: platform_ppc-32
Status: NEEDINFO ---    
Severity: normal CC: michael
Priority: P1    
Hardware: PPC-32   
OS: Linux   
Kernel Version: 5.8-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg (5.8-rc1, PowerMac G4 DP)
kernel .config (5.8-rc1, PowerMac G4 DP)
bisect.log
dmesg (5.8-rc4 + WARN_ON patch, PowerMac G4 DP)
bisect.log
dmesg (kernel 6.0-rc3, PowerMac G4 DP)
bisect.log

Description Erhard F. 2020-06-15 22:02:55 UTC
Created attachment 289685 [details]
dmesg (5.8-rc1, PowerMac G4 DP)

Since 5.8-rc1 I get these OF errors on my PowerMac G4 DP:

[...]
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio5@6f: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/extint-gpio15@67: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio6@70: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/extint-gpio16@68: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/extint-gpio14@66: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio12@76: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio11@75: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio5@6f: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio6@70: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/extint-gpio4@5c: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/gpio11@75: could not find phandle
T600 kernel: OF: /pci@f2000000/mac-io@17/gpio@50/extint-gpio15@67: could not find phandle[...]

This has not been the case in kernel 5.7 or earlier.
Comment 1 Erhard F. 2020-06-15 22:03:40 UTC
Created attachment 289687 [details]
kernel .config (5.8-rc1, PowerMac G4 DP)
Comment 2 Erhard F. 2020-07-05 12:50:15 UTC
Created attachment 290097 [details]
bisect.log

Did a bisect but got quite some skips due to the system not finishing booting.

 # git bisect skip | tee -a ~/bisect02.log
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
388bcc6ecc609fca1b4920de7dc3806c98ec535e
48ebea5026d692c5ab0a7d303f0fe1f8ba046e0f
c78c31b374a68be79cb4a03ef5b6c187f034e903
c8be6af9ef16cf44d690fc227a0d2dd7a526ef05
eb7fbc9fb1185a7f89adeb2de724c2c96ff608e9
42926ac3cd50937346c23c0005817264af4357a7
baf1d9c182935e88aab08701b0a0b22871117fe0
5f5377eaddfc24e5d7562e588d0ff84f9264d7c1
96fa72ffb2155dba9ba8c5d282a1ff19ed32f177
716a7a25969003d82ab738179c3f1068a120ed11
fbc35b45f9f6a971341b9462c6e94c257e779fb5
45bb08de65b418959313593f527c619e102c2d57
93d2e4322aa74c1ad1e8c2160608eb9a960d69ff
69b07ee33eb12a505d55e3e716fc7452496b9041
fefcfc968723caf93318613a08e1f3ad07a6154f
0f605db5bdd42edfbfcac36acaf8f72cfe9ce774
c82c83c330654c5639960ebc3dabbae53c43f79e
114dbb4fa7c4053a51964d112e2851e818e085c6
55623260bb33e2ab849af76edf2253bc04cb241f
2cd38fd15e4ebcfe917a443734820269f8b5ba2b
ab7c1e163b525316a870a494dd4ea196e7a6c455
f7d8f3f092d001f8d91552d2697643e727694942
Keine binäre Suche mehr möglich!
Comment 3 Michael Ellerman 2020-07-07 07:23:35 UTC
Try this?

diff --git a/drivers/of/base.c b/drivers/of/base.c
index ae03b1218b06..b2961bec57d9 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1299,6 +1299,7 @@ int of_phandle_iterator_next(struct of_phandle_iterator *it)
 			if (!it->node) {
 				pr_err("%pOF: could not find phandle\n",
 				       it->parent);
+				WARN_ON(1);
 				goto err;
 			}
Comment 4 Erhard F. 2020-07-07 12:21:15 UTC
Created attachment 290157 [details]
dmesg (5.8-rc4 + WARN_ON patch, PowerMac G4 DP)
Comment 5 Erhard F. 2020-07-07 12:22:23 UTC
(In reply to Michael Ellerman from comment #3)
> Try this?
See new dmesg.
Comment 6 Erhard F. 2020-07-07 12:30:53 UTC
Also I took some time to revert individual commits from the bisect.log:

388bcc6ecc609fca1b4920de7dc3806c98ec535e drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish
48ebea5026d692c5ab0a7d303f0fe1f8ba046e0f firmware_loader: move fw_fallback_config to a private kernel symbol namespace
c78c31b374a68be79cb4a03ef5b6c187f034e903 Revert "Revert "driver core: Set fw_devlink to "permissive" behavior by default""
c8be6af9ef16cf44d690fc227a0d2dd7a526ef05 Merge v5.7-rc5 into driver-core-next
eb7fbc9fb1185a7f89adeb2de724c2c96ff608e9 driver core: Add missing '\n' in log messages
42926ac3cd50937346c23c0005817264af4357a7 driver core: Move code to the right part of the file
baf1d9c182935e88aab08701b0a0b22871117fe0 driver/base/soc: Use kobj_to_dev() API
5f5377eaddfc24e5d7562e588d0ff84f9264d7c1 driver core: Look for waiting consumers only for a fwnode's primary device
96fa72ffb2155dba9ba8c5d282a1ff19ed32f177 Merge 5.7-rc3 into driver-core-next
716a7a25969003d82ab738179c3f1068a120ed11 driver core: fw_devlink: Add support for batching fwnode parsing
fbc35b45f9f6a971341b9462c6e94c257e779fb5 Add documentation on meaning of -EPROBE_DEFER
45bb08de65b418959313593f527c619e102c2d57 driver core: platform: remove redundant assignment to variable ret
93d2e4322aa74c1ad1e8c2160608eb9a960d69ff of: platform: Batch fwnode parsing when adding all top level devices
69b07ee33eb12a505d55e3e716fc7452496b9041 debugfs: Use the correct style for SPDX License Identifier
fefcfc968723caf93318613a08e1f3ad07a6154f driver core: Remove check in driver_deferred_probe_force_trigger()
0f605db5bdd42edfbfcac36acaf8f72cfe9ce774 kernfs: Change kernfs_node lockdep name to "kn->active"
c82c83c330654c5639960ebc3dabbae53c43f79e driver core: platform: Fix spelling errors in platform.c
114dbb4fa7c4053a51964d112e2851e818e085c6 drivers property: When no children in primary, try secondary
55623260bb33e2ab849af76edf2253bc04cb241f test_firmware: remove unnecessary test_fw_mutex in test_dev_config_show_xxx
2cd38fd15e4ebcfe917a443734820269f8b5ba2b driver core: Remove unnecessary is_fwnode_dev variable in device_add()
ab7c1e163b525316a870a494dd4ea196e7a6c455 firmware: Drop unused pages field from struct firmware
f7d8f3f092d001f8d91552d2697643e727694942 Merge 5.7-rc7 into driver-core-next


Reverting Merge 5.7-rc7 into driver-core-next via:
git revert f7d8f3f092d001f8d91552d2697643e727694942 -m2

while leaving the other commits still in made the "could not find phandle" disappear. I guess the relevant commit is somewhere in this merge.
Comment 7 Michael Ellerman 2020-07-08 04:05:09 UTC
I couldn't really make sense of your bisect log, it doesn't have any good/bad commits in it.

And I don't see how reverting a merge of v5.7-rc7 can be helping, because you said v5.7 is good, and that contains v5.7-rc7.

Can you attach the output of "git bisect log".
Comment 8 Erhard F. 2020-07-09 17:44:07 UTC
Created attachment 290191 [details]
bisect.log
Comment 9 Erhard F. 2020-07-09 17:50:56 UTC
(In reply to Michael Ellerman from comment #7)
> I couldn't really make sense of your bisect log, it doesn't have any
> good/bad commits in it.
> 
> Can you attach the output of "git bisect log".
Yea sorry, my fault... I thought e.g. with "git bisect bad | tee -a ~/bisect.log" bisect.log generated via tee would have the same output as with "git bisect log" but I was wrong. 

Please find the correct one attached now. I had to restart the bisect as I already resetted the original one.
Comment 10 Erhard F. 2022-09-12 15:22:06 UTC
*** Bug 216427 has been marked as a duplicate of this bug. ***
Comment 11 Erhard F. 2022-09-12 15:23:49 UTC
Created attachment 301794 [details]
dmesg (kernel 6.0-rc3, PowerMac G4 DP)
Comment 12 Erhard F. 2022-09-12 15:27:48 UTC
Created attachment 301795 [details]
bisect.log

I was able to do my recently tried bisect (bug #208197) without skips and narrowed the 1st bad commit down to: [c78c31b374a68be79cb4a03ef5b6c187f034e903] Revert "Revert "driver core: Set fw_devlink to "permissive" behavior by default""