sun4i: axp209: no atomic i2c transfer handler
Heya!
I have seen following warning message for few times when shutting down the machine (Olinuxino Lime2-emmc) running the mainline kernel.
[snip]
WARNING: CPU: 0 PID: 1 at drivers/i2c/i2c-core.h:41 i2c_transfer+0xe8/0xf4 No atomic I2C transfer handler for 'i2c-1' Modules linked in: enc28j60 CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.3.0-rc8-paf+ #28 Hardware name: Allwinner sun7i (A20) Family [<c010ee08>] (unwind_backtrace) from [<c010b5b8>] (show_stack+0x10/0x14) [<c010b5b8>] (show_stack) from [<c06bf2b4>] (dump_stack+0x88/0x9c) [<c06bf2b4>] (dump_stack) from [<c011e044>] (__warn+0xd4/0xf0) [<c011e044>] (__warn) from [<c011dbe4>] (warn_slowpath_fmt+0x48/0x6c) [<c011dbe4>] (warn_slowpath_fmt) from [<c051ce20>] (i2c_transfer+0xe8/0xf4) [<c051ce20>] (i2c_transfer) from [<c051ce78>] (i2c_transfer_buffer_flags+0x4c/0x70) [<c051ce78>] (i2c_transfer_buffer_flags) from [<c046c2a4>] (regmap_i2c_write+0x14/0x30) [<c046c2a4>] (regmap_i2c_write) from [<c0468180>] (_regmap_raw_write_impl+0x588/0x63c) [<c0468180>] (_regmap_raw_write_impl) from [<c0468b50>] (regmap_write+0x3c/0x5c) [<c0468b50>] (regmap_write) from [<c046f554>] (axp20x_power_off+0x2c/0x38) [<c046f554>] (axp20x_power_off) from [<c013e8a4>] (sys_reboot+0x14c/0x1e0) [<c013e8a4>] (sys_reboot) from [<c0101000>] (ret_fast_syscall+0x0/0x54) Exception stack(0xef04ffa8 to 0xef04fff0)
ffa0: 00427954 00000000 fee1dead 28121969 4321fedc 16814300
ffc0: 00427954 00000000 00000000 00000058 bec15c78 00000000 bec15c10 004266f8
ffe0: 00000058 bec15b6c b6f69d45 b6eeb746
[/snip]
The enc28j60 module is SPI, so it has nothing to do with the message.
Any ideas where to look?
Päikest,
Priit :)
Quoted 25 lines · Priit Laes
Heya!
I have seen following warning message for few times when shutting down the machine (Olinuxino Lime2-emmc) running the mainline kernel.
[snip]
WARNING: CPU: 0 PID: 1 at drivers/i2c/i2c-core.h:41 i2c_transfer+0xe8/0xf4 No atomic I2C transfer handler for 'i2c-1' Modules linked in: enc28j60 CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.3.0-rc8-paf+ #28 Hardware name: Allwinner sun7i (A20) Family [<c010ee08>] (unwind_backtrace) from [<c010b5b8>] (show_stack+0x10/0x14) [<c010b5b8>] (show_stack) from [<c06bf2b4>] (dump_stack+0x88/0x9c) [<c06bf2b4>] (dump_stack) from [<c011e044>] (__warn+0xd4/0xf0) [<c011e044>] (__warn) from [<c011dbe4>] (warn_slowpath_fmt+0x48/0x6c) [<c011dbe4>] (warn_slowpath_fmt) from [<c051ce20>] (i2c_transfer+0xe8/0xf4) [<c051ce20>] (i2c_transfer) from [<c051ce78>] (i2c_transfer_buffer_flags+0x4c/0x70) [<c051ce78>] (i2c_transfer_buffer_flags) from [<c046c2a4>] (regmap_i2c_write+0x14/0x30) [<c046c2a4>] (regmap_i2c_write) from [<c0468180>] (_regmap_raw_write_impl+0x588/0x63c) [<c0468180>] (_regmap_raw_write_impl) from [<c0468b50>] (regmap_write+0x3c/0x5c) [<c0468b50>] (regmap_write) from [<c046f554>] (axp20x_power_off+0x2c/0x38) [<c046f554>] (axp20x_power_off) from [<c013e8a4>] (sys_reboot+0x14c/0x1e0) [<c013e8a4>] (sys_reboot) from [<c0101000>] (ret_fast_syscall+0x0/0x54) Exception stack(0xef04ffa8 to 0xef04fff0)
Quoted 8 lines
ffa0: 00427954 00000000
fee1dead281219694321fedc16814300
ffc0: 00427954 00000000 00000000 00000058bec15c7800000000bec15c10004266f8
ffe0: 00000058bec15b6cb6f69d45b6eeb746
[/snip]The enc28j60 module is SPI, so it has nothing to do with the message.
Any ideas where to look?
This looks like it's complaining that i2c-1 (i2c-mv64xxx) does not have .master_xfer_atomic , which should be used in atomic contexts.
include/linux/i2c.h says:
@master_xfer_atomic: same as @master_xfer. Yet, only using atomic context
so e.g. PMICs can be accessed very late before shutdown. Optional.
ChenYu