W dniu 12.11.2022 o 01:20, Bjorn Helgaas pisze: > [+cc Jean, linux-i2c] > > On Sat, Sep 17, 2022 at 11:09:44AM +0200, Mateusz Jończyk wrote: >> On some platforms, the ACPI _PRT function returns duplicate interrupt >> routing entries. Linux uses the first matching entry, but sometimes the >> second matching entry contains the correct interrupt vector. > Rafael, Jean, what do you think about this? It seems like kind of a > lot of infrastructure to deal with this oddness, but I'm not really > opposed to it. > > This is in i2c-i801.c, which seems to have some support for polling; > maybe it could make smart enough to complain and automatically switch > to polling if a timeout occurs. > > Or maybe we scan the entire _PRT and let the match win (instead of the > first as we do today). > > Or ...? > > Google finds a lot of hits for "i801_smbus" "timeout waiting for > interrupt", but I can't tell whether they're a similar _PRT issue or > something else. > >> This happens on a Dell Latitude E6500 laptop with the i2c-i801 Intel >> SMBus controller. This controller was nonfunctional unless its interrupt >> usage was disabled (using the "disable_features=0x10" module parameter). Hello, I have prepared a lean patch that only prints a warning when there are two matching entries in the table returned from _PRT (I will send it in the next e-mail). Perhaps it could be merged and then after a release or two it will be known how widespread this problem is. Greetings, Mateusz