2023-12-01 10:49:07

by Tor Vic

[permalink] [raw]
Subject: [Bug Report] [6.6] i2c: No atomic i2c transfer handler

Hi,

Since Linux 6.6.3, I see some warnings in the late phase of shutdown.
Unfortunately, they are not logged because syslog has already shut down
at that point.

I used a camera to capture a small part of the warnings:

No atomic I2C transfer handler for 'i2c-0'
[trace follows]
i2c_smbus_xfer
[...]

After checking the changelog, the culprit was found quickly:

(3473cf43b) i2c: core: Run atomic i2c xfer when !preemptible

Reverting that commit made the warnings go away.

This is a voluntary preemption kernel running on a Skylake laptop.

Please tell me if you need more info.

Cheers,
Tor


2023-12-01 11:50:25

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [Bug Report] [6.6] i2c: No atomic i2c transfer handler

On 12/1/23 13:48, Tor Vic wrote:
> Hi,
>
> Since Linux 6.6.3, I see some warnings in the late phase of shutdown.
> Unfortunately, they are not logged because syslog has already shut down
> at that point.
>
> I used a camera to capture a small part of the warnings:
>
>   No atomic I2C transfer handler for 'i2c-0'
>   [trace follows]
>   i2c_smbus_xfer
>   [...]
>
> After checking the changelog, the culprit was found quickly:
>
>   (3473cf43b) i2c: core: Run atomic i2c xfer when !preemptible
>
> Reverting that commit made the warnings go away.
>
> This is a voluntary preemption kernel running on a Skylake laptop.
>
> Please tell me if you need more info.

The warning says that I2C bus driver used by your laptop doesn't support
atomic transfers while it should. Which driver it is?

In your case the warning is harmless, still the I2C driver likely needs
to be improved.

--
Best regards,
Dmitry

2023-12-01 12:26:30

by Tor Vic

[permalink] [raw]
Subject: Re: [Bug Report] [6.6] i2c: No atomic i2c transfer handler



On 12/1/23 12:50, Dmitry Osipenko wrote:
> On 12/1/23 13:48, Tor Vic wrote:
>> Hi,
>>
>> Since Linux 6.6.3, I see some warnings in the late phase of shutdown.
>> Unfortunately, they are not logged because syslog has already shut down
>> at that point.
>>
>> I used a camera to capture a small part of the warnings:
>>
>>   No atomic I2C transfer handler for 'i2c-0'
>>   [trace follows]
>>   i2c_smbus_xfer
>>   [...]
>>
>> After checking the changelog, the culprit was found quickly:
>>
>>   (3473cf43b) i2c: core: Run atomic i2c xfer when !preemptible
>>
>> Reverting that commit made the warnings go away.
>>
>> This is a voluntary preemption kernel running on a Skylake laptop.
>>
>> Please tell me if you need more info.
>
> The warning says that I2C bus driver used by your laptop doesn't support
> atomic transfers while it should. Which driver it is?

'i2c-0' is
SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus
using 'i801_smbus' driver.

>
> In your case the warning is harmless, still the I2C driver likely needs
> to be improved.
>

That's good news, I was a little worried because of the several (I think
it was 3 in total) large warning splats.