Re: USB broken on Banana Pi in Linux 4.6

Alan Stern
2016-06-12T20:14:18Z

On Sun, 12 Jun 2016, Marc Haber wrote:

> On Sat, Jun 11, 2016 at 02:55:04PM +0200, Marc Haber wrote:
> > On Tue, Jun 07, 2016 at 10:30:17AM -0700, Greg KH wrote:
> > > Nothing obvious, can you use 'git bisect' to go from 4.5.0 to 4.6.0 to
> > > find the offending commit?
> >
> > I can. The first round of bisecting let me end up with
> > c8b710b3e4348119924051551b836c94835331b1 as the first bad commit,
> > which is wrong, since c8b710b3e4348119924051551b836c94835331b1^ is bad
> > as well. I am not sure whether things went well since I had to use git
> > bisect skip twice because the resulting kernel wouldn't boot on the pi.
>
> The kernel panic on boot is caused by bugs in the parport part. I
> worked around these by disabling PARPORT in the kernel configuration.
>
> However, a weekend of bisecting just sent me back to commit
> d85ce830eef6c10d1e9617172dea4681f02b8424, which is a purely cosmetic
> commit. What totally confuses me is the sheer size of the diff.
>
> [8/506]mh@fan:~/linux/debug/linux.bad$ less .git/BISECT_LOG [9/507]mh@fan:~/linux/debug/linux.bad$ git log v4.5..d85ce830eef6c10d1e9617172dea4681f02b8424 | cat
> d85ce830eef6c10d1e9617172dea4681f02b8424 perf pmu: Fix misleadingly indented assignment (whitespace)
> [10/508]mh@fan:~/linux/debug/linux.bad$ git diff v4.5..d85ce830eef6c10d1e9617172dea4681f02b8424 | wc -l
> 811131
> [11/509]mh@fan:~/linux/debug/linux.bad$ git show d85ce830eef6c10d1e9617172dea4681f02b8424 | wc -l
> 14
> [12/510]mh@fan:~/linux/debug/linux.bad$
>
> Why do I get a 800000+ line diff for a 14 line commit?
>
> This can't be correct. Hints?

That diff is the difference all the way from v4.5 to the d85ce830eef6
commit. Not just the commit itself, but also everything along the way.

> Here is the BISECT_LOG:
>
> git bisect start
> # bad: [2dcd0af568b0cf583645c8a317dd12e344b1c72a] Linux 4.6
> git bisect bad 2dcd0af568b0cf583645c8a317dd12e344b1c72a
> # good: [b562e44f507e863c6792946e4e1b1449fbbac85d] Linux 4.5
> git bisect good b562e44f507e863c6792946e4e1b1449fbbac85d
> # bad: [6b5f04b6cf8ebab9a65d9c0026c650bb2538fd0f] Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
> git bisect bad 6b5f04b6cf8ebab9a65d9c0026c650bb2538fd0f
> # bad: [96b9b1c95660d4bc5510c5d798d3817ae9f0b391] Merge tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
> git bisect bad 96b9b1c95660d4bc5510c5d798d3817ae9f0b391
> # bad: [277edbabf6fece057b14fb6db5e3a34e00f42f42] Merge tag 'pm+acpi-4.6-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
> git bisect bad 277edbabf6fece057b14fb6db5e3a34e00f42f42
> # bad: [5ca5446ec5ba5e79a6f271cd026bb153d6850fcc] Merge tag 'pinctrl-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
> git bisect bad 5ca5446ec5ba5e79a6f271cd026bb153d6850fcc
> # bad: [e71c2c1eeb8de7a083a728c5b7e0b83ed1faf047] Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
> git bisect bad e71c2c1eeb8de7a083a728c5b7e0b83ed1faf047
> # bad: [54fbad54ebcde9db9c7459e9e379f2350c25e1f1] perf mem record: Check for memory events support
> git bisect bad 54fbad54ebcde9db9c7459e9e379f2350c25e1f1
> # bad: [598b7c6919c7bbcc1243009721a01bc12275ff3e] perf jit: add source line info support
> git bisect bad 598b7c6919c7bbcc1243009721a01bc12275ff3e
> # bad: [3848c23b19e07188bfa15e3d9a2ac27692f2ff3c] perf report: Don't show blank lines if entry has no callchain
> git bisect bad 3848c23b19e07188bfa15e3d9a2ac27692f2ff3c
> # bad: [5ac76283b32b116c58e362e99542182ddcfc8262] perf cpumap: Auto initialize cpu__max_{node,cpu}
> git bisect bad 5ac76283b32b116c58e362e99542182ddcfc8262
> # bad: [cfd92dadc5e830268036efb25ff41618f29c3306] perf sort: Provide a way to find out if per-thread bucketing is in place
> git bisect bad cfd92dadc5e830268036efb25ff41618f29c3306
> # bad: [3379e0c3effa87d7734fc06277a7023292aadb0c] perf tools: Document the perf sysctls
> git bisect bad 3379e0c3effa87d7734fc06277a7023292aadb0c
> # bad: [86a2cf3123bfec118bfb98728d88be0668779b2b] perf stat: Making several helper functions static
> git bisect bad 86a2cf3123bfec118bfb98728d88be0668779b2b
> # bad: [403567217d3fa5d4801f820317ada52e5c5f0e53] perf symbols: Do not read symbols/data from device files
> git bisect bad 403567217d3fa5d4801f820317ada52e5c5f0e53
> # bad: [d85ce830eef6c10d1e9617172dea4681f02b8424] perf pmu: Fix misleadingly indented assignment (whitespace)
> git bisect bad d85ce830eef6c10d1e9617172dea4681f02b8424
> # first bad commit: [d85ce830eef6c10d1e9617172dea4681f02b8424] perf pmu: Fix misleadingly indented assignment (whitespace)
> [13/511]mh@fan:~/linux/debug/linux.bad$
>
> (started with git checkout v4.6, git bisect start, git bisect bad, git
> bisect good v4.5).

According to this log, all the commits you tested were bad. The only
good commit listed is v4.5 itself. That doesn't seem right.

Alan Stern