[Letux-kernel] Pandora WiFi / wl1251 driver
H. Nikolaus Schaller
hns at goldelico.com
Wed Sep 25 14:00:27 CEST 2019
> Am 25.09.2019 um 08:52 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>
>
>> Am 24.09.2019 um 21:55 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>>
>> WiFi on Pandora is broken for a long time. It is known that
>> it did stop working with letux-4.7. And something additional
>> became worse around letux-4.12 (not clear what that was - maybe
>> some dmesg log):
>>
>> http://projects.goldelico.com/p/gta04-kernel/issues/849/
>>
>> I have rebuilt these old kernels and found out that the
>> problem starts to occur with letux-4.7-rc1.
>>
>> This means we need to bisect between letux-4.6..letux-4.7-rc1
>>
>> Unfortunately git bisect can't do that because there is
>> no fast-forward path between both. Both are derived from
>> the linear history v4.6..v4.7 but add (different) set
>> of feature branches.
>>
>> So it is like trying to interpolate (walk) between the tips
>> of branches in a tree. There is only gap in between...
Basically I have found a new method.
To walk between the tips you have to glue a copy of a branch to
some intermediate point at the trunk.
Let's try to describe by formulae (+ means a git merge):
letux(version) = mainline(version) + feature-branches(version)
good: letux(4.6) = v(4.6) + feature-branches(v4.6)
bad: letux(4.7-rc1) = v(4.7-rc1) + feature-branches(v4.7-rc1)
Note that feature-branches(v4.6) and feature-branches(v4.7-rc1)
are not necessarily the same. They have been rebased, new features
have been added, bugs have been fixed and API changes covered during
the development of feature-branches(v4.7-rc1).
bisect: walks commits between v4.6 and v4.7-rc1 i.e.
v(4.6) < v(bisect) < v(4.7-rc1)
What we want is
letux(4.6) < letux(bisect) < letux(4.7-rc1)
The problem is that
letux(bisect) = v(bisect) + feature-branches(bisect)
does not exist and can't be provided (unless someone manually rebases, fixes bugs and APU changes).
So we try this:
letux(bisect) = v(4.6) + feature-branches(bisect) - cleanup
by a simple git merge. This almost succeeds since letux(4.7-rc1) includes
both, v4.6 and v4.7-rc1.
We may need some cleanup to fix irrelevant merge conflicts and compile errors
by checking out individual files from letux(4.6).
This allows to have a full letux(bisect) for testing.
Since it is not exactly interpolated, there may be strange effects by this
but they are unlikely. Here in the WiFi example, I just have to disable w2sg0004
and twl6040 config. They are not used on the Pandora and therefore should not
influence anything.
>
> Ok, first bisect attempt reports:
>
> f4c80d5a16eb4b08a0d9ade154af1ebdc63f5752 is the first bad commit
> HEAD ist jetzt bei f4c80d5a16eb Merge tag 'sound-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
>
> Well, this is a "merge". And a merge may hide the real reason
> due to history that may have separate before the first good
> commit.
>
> So what I have to do is to restart/redo the bisect starting
> earlier...
>
> Let's try again with letux-4.6-rc1..letux-4.7-rc1
well, it appears as if letux-4.6-rc1 .. rc3 do not even
start the kernel on the Pandora.
So let's see if a bisect letux-4.6-rc4..f4c80d5a16eb finds something.
BR,
Nikolaus
More information about the Letux-kernel
mailing list