Re: [PATCH 2/2] i2c: core: APCI: Log device not acking errors at dbg loglevel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 22, 2018 at 07:58:00PM +0200, Hans de Goede wrote:
> Unfortunately some DSDTs issue bogus i2c reads to non existing devices
> resulting in -EREMOTEIO errors because the non existing device of course
> does not ack.
> 
> This happens e.g. from the The Asus T100TA's _BIX method, the DSDT on
> the T100TA defines 2 resources on the I2C1 bus:
> 
>         Name (EHID, ResourceTemplate ()
>         {
>             I2cSerialBusV2 (0x005B, ControllerInitiated, 0x00061A80,
>                 AddressingMode7Bit, "\\_SB.I2C1",
>                 0x00, ResourceConsumer, , Exclusive,
>                 )
>         })
>         OperationRegion (EHOR, GenericSerialBus, Zero, 0x0100)
>         Field (EHOR, BufferAcc, NoLock, Preserve)
>         {
>             Connection (EHID),
>             Offset (0x01),
>             AccessAs (BufferAcc, AttribBytes (0x10)),
>             ABCD,   8
>         }
> 
>         Name (UMPC, ResourceTemplate ()
>         {
>             I2cSerialBusV2 (0x0066, ControllerInitiated, 0x00061A80,
>                 AddressingMode7Bit, "\\_SB.I2C1",
>                 0x00, ResourceConsumer, , Exclusive,
>                 )
>         })
> 
> The _BIX method does a single read (on each BIX() call) from the EHID
> device through the ABCD Field, only to completely ignore the result.
> This read always fails as there is no i2c client at address 0x5b.
> 
> The _BIX method also does several reads from the UMPC device and actually
> uses the results of those to provide battery information.
> 
> IIRC I've also seen some DSTDs which do an i2c read to detect if a device
> is present, also leading to false positive errors being logged.
> 
> Esp. the _BIX use is problematic as the _BIX method gets called
> periodically to monitor battery status.
> 
> This commit stops the logs from filling up with errors like these:
> 
> [   57.327858] i2c i2c-0: i2c read 16 bytes from client@0x5b starting at
>                reg 0x1 failed, error: -121
> 
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux