Re: Error "ee1004 3-0050: probe with driver ee1004 failed with error -5" since 6.11

Uwe Kleine-König
2024-09-27T21:59:36Z

[-- Attachment #1: Type: text/plain, Size: 5329 bytes --]

Hello Diederik,

On Fri, Sep 27, 2024 at 02:57:30PM +0200, Diederik de Haas wrote:
> On Thu Sep 26, 2024 at 2:44 PM CEST, Greg Kroah-Hartman wrote:
> > On Thu, Sep 26, 2024 at 02:35:05PM +0200, Diederik de Haas wrote:
> > > I updated an amd64 machine to (Debian's) 6.11 kernel and got this error:
> > > ``ee1004 3-0050: probe with driver ee1004 failed with error -5``
> > >
> > > which I didn't get with 6.10.9.
> >
> > bisect would be great, thanks!
>
> I should've known I'd get this response ;-P
>
> $ git bisect log
> git bisect start
> # status: waiting for both good and bad commits
> # good: [6150e5e1ae2d8ad72f52217f8f41fe446cae9e27] eeprom: ee1004: Instantiate jc42 devices for DIMMS implementing Rev.1 SPD
> git bisect good 6150e5e1ae2d8ad72f52217f8f41fe446cae9e27
> # status: waiting for bad commit, 1 good commit known
> # bad: [8400291e289ee6b2bf9779ff1c83a291501f017b] Linux 6.11-rc1
> git bisect bad 8400291e289ee6b2bf9779ff1c83a291501f017b
> # good: [280e36f0d5b997173d014c07484c03a7f7750668] nsfs: use cleanup guard
> git bisect good 280e36f0d5b997173d014c07484c03a7f7750668
> # good: [f66b07c56119833b88bffa4ecaf9f983834675de] Merge tag 'vfio-v6.11-rc1' of https://github.com/awilliam/linux-vfio
> git bisect good f66b07c56119833b88bffa4ecaf9f983834675de
> # good: [2c9b3512402ed192d1f43f4531fb5da947e72bd0] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
> git bisect good 2c9b3512402ed192d1f43f4531fb5da947e72bd0
> # good: [6dc2e98d5f1de162d1777aee97e59d75d70d07c5] s390: Remove protvirt and kvm config guards for uv code
> git bisect good 6dc2e98d5f1de162d1777aee97e59d75d70d07c5
> # bad: [c2a96b7f187fb6a455836d4a6e113947ff11de97] Merge tag 'driver-core-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
> git bisect bad c2a96b7f187fb6a455836d4a6e113947ff11de97
> # good: [786c8248dbd33a5a7a07f7c6e55a7bfc68d2ca48] Merge tag 'perf-tools-fixes-for-v6.11-2024-07-23' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
> git bisect good 786c8248dbd33a5a7a07f7c6e55a7bfc68d2ca48
> # bad: [ad7b0b7b87bb19ea7ee71e165e597f5fbfac76ab] Merge tag 'soundwire-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire
> git bisect bad ad7b0b7b87bb19ea7ee71e165e597f5fbfac76ab
> # good: [b8ec9dba02a74797421c52b1226b23a4302362a6] dt-bindings: fsl-qdma: fix interrupts 'if' check logic
> git bisect good b8ec9dba02a74797421c52b1226b23a4302362a6
> # good: [7a3fad30fd8b4b5e370906b3c554f64026f56c2f] Merge tag 'random-6.11-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random
> git bisect good 7a3fad30fd8b4b5e370906b3c554f64026f56c2f
> # good: [89cc1354d388ba8c8f8b41095736202a83591497] soundwire: amd: simplify return path in hw_params
> git bisect good 89cc1354d388ba8c8f8b41095736202a83591497
> # good: [13814ed162687be08e34762040cfc2e58831219d] soundwire: intel_ace2x: simplify return path in hw_params
> git bisect good 13814ed162687be08e34762040cfc2e58831219d
> # good: [b72d4af98cae2f74dc8061befcc3c0c2a174894f] soundwire: cadence: simplify with cleanup.h
> git bisect good b72d4af98cae2f74dc8061befcc3c0c2a174894f
> # good: [fdd3d14ca3c8c5269174f10d33d6181173cbd0b4] soundwire: debugfs: simplify with cleanup.h
> git bisect good fdd3d14ca3c8c5269174f10d33d6181173cbd0b4
> # bad: [7a46b17d4c00c2547b5bd82eec9489b19128fd65] Merge tag 'dmaengine-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
> git bisect bad 7a46b17d4c00c2547b5bd82eec9489b19128fd65
> # first bad commit: [7a46b17d4c00c2547b5bd82eec9489b19128fd65] Merge tag 'dmaengine-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine

The following is completely generic. Note I didn't try to to understand
the problem, just giving some hint how to further improve the bisection
result.

If the first bad commit is a merge that isn't usually very helpful. It
just means that either the merge is broken (I guess that's unlikely) or
one commit on the left side of the merge has a problem with one on the
right side.

To identify the two conflicting commits you can do the following:

badmerge=7a46b17d4c00c2547b5bd82eec9489b19128fd65
base=$(git merge-base ${badmerge}^ ${badmerge}^2)
git bisect start ${badmerge}^ ${base}

and then to test a commit that git-bisect asks you to judge, do:

git merge --no-commit ${badmerge}^2
build_and_test
git reset --hard
git bisect $good_or_bad

The resulting bad commit is the problematic on the left side (i.e. in
${base}..${badmerge}^). To then find the problematic on the right side,
start a new bisection:

git bisect start ${badmerge}^2 ${base}

and to test these do:

git merge --no-commit ${bad_commit_on_left_side}
build_and_test
git reset --hard
git bisect $good_or_bad

The first bad there is then the conflicting commit on the right side
(i.e. in ${base}..${badmerge}^2).

Also finding the commit that fixes the issue would be possible, for that
I'd suggest

git bisect start --term-new=fixed --term-old=broken v6.11-rc1 075dbe9f6e3c

and then after testing the suggested commits use either

git bisect fixed

(if the problem didn't occur); or

git bisect broken

(if the problem is still unfixed in the commit to test).

Best regards
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]