All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ACPICA: Fix a race in GenericSerialBus (I2C) and GPIO handling
@ 2020-12-26 14:28 Hans de Goede
  2020-12-26 14:28 ` [PATCH 1/2] ACPICA: Fix race in GenericSerialBus (I2C) and GPIO OpRegion parameter handling Hans de Goede
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Hans de Goede @ 2020-12-26 14:28 UTC (permalink / raw)
  To: Rafael J . Wysocki, Len Brown, Robert Moore, Erik Kaneda
  Cc: Hans de Goede, linux-acpi, devel

Hi All,

On one of my machines I noticed the following errors being logged:

[   52.892807] i2c i2c-0: adapter quirk: no zero length (addr 0x0078, size 0, read)
[   52.893037] i2c i2c-0: i2c read 0 bytes from client@0x78 starting at reg 0x0 failed, error: -95

The second line is coming from the Linux I2C ACPI OpRegion handling and
after a bunch of debugging I've found out that there is a rather obvious
(once you see it) and nasty race condition in the handling of I2C and GPIO
opregions in acpi_ev_address_space_dispatch(). See the first patch in this
series (the second patch is a follow-up cleanup patch removing some code
duplication).

TBH I'm surprised that this issue has gone unnoticed as long as it has,
but I guess that it mostly leads to unreproducable sporadic problems
making it hard to debug and I got lucky that I had a machine where the
race seems to trigger about once every 20 seconds.

I know that ACPICA patches are normally merged through the ACPICA upstream
but given that this is a serious bug, I believe that in this case it might
be best to add the fix directly to Linux and then port it to ACPICA from
there.

Regards,

Hans


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-02-17  1:29 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-26 14:28 [PATCH 0/2] ACPICA: Fix a race in GenericSerialBus (I2C) and GPIO handling Hans de Goede
2020-12-26 14:28 ` [PATCH 1/2] ACPICA: Fix race in GenericSerialBus (I2C) and GPIO OpRegion parameter handling Hans de Goede
2021-01-04 22:17   ` Moore, Robert
2021-01-04 22:17     ` [Devel] " Moore, Robert
2021-01-06 13:23     ` Hans de Goede
2020-12-26 14:28 ` [PATCH 2/2] ACPICA: Remove some code duplication from acpi_ev_address_space_dispatch Hans de Goede
2021-01-11 18:39 ` [PATCH 0/2] ACPICA: Fix a race in GenericSerialBus (I2C) and GPIO handling Kaneda, Erik
2021-01-11 18:43   ` Hans de Goede
2021-02-15 17:50 ` Hans de Goede
2021-02-15 18:25   ` Rafael J. Wysocki
2021-02-15 18:25     ` [Devel] " Rafael J. Wysocki
2021-02-16 18:15     ` Moore, Robert
2021-02-17  1:29       ` [Devel] " Moore, Robert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.