Re: [REGRESSION] Missing bcm5974 touchpad on Macbooks

From: Javier Carrasco
Date: Mon Mar 04 2024 - 06:27:07 EST


On 04.03.24 09:35, Takashi Iwai wrote:
> Hi,
>
> we've received a few regression reports for openSUSE Leap about the
> missing touchpad on Macbooks. After debugging, this turned out to be
> the backport of the commit 2b9c3eb32a699acdd4784d6b93743271b4970899
> Input: bcm5974 - check endpoint type before starting traffic
>
> And, the same regression was confirmed on the upstream 6.8-rc6
> kernel.
>
> Reverting the commit above fixes the problem, the touchpad reappears.
>
> The detailed hardware info is found at:
> https://bugzilla.suse.com/show_bug.cgi?id=1220030
>
> Feel free to join the bugzilla above, or let me know if you need
> something for debugging, then I'll delegate on the bugzilla.
>
>
> thanks,
>
> Takashi
>

Hi Takashi,

The commit adds a check to ensure that the endpoint type is interrupt.

According to that report, the issue arose with a MacBook Pro 5.1 (no
button, only trackpad endpoint), so the check on the tp_ep address
(0x81) returns false. I assume that you see an error message
("Unexpected non-int endpoint) and the probe function fails returning
-ENODEV.

Do you see any warning in the logs when you revert the commit? It was
added to prevent using wrong endpoint types, which will display the
following warning: "BOGUS urb xfer, pipe "some_number" != type
"another_number""

I am just wondering if for some reason the check on interrupt type is
wrong here.


Best regards,
Javier Carrasco