[i2c] i2c-i801: Regression between 2.6.19-1 & 2.6.23.9
Ivo Manca
pinkel at gmail.com
Wed Jan 9 12:08:28 CET 2008
Hey all,
Trying to test interrupt support for i801 I learned that somehow
between kernel version 2.6.22.14 and 2.6.23.9, something went wrong
with the bus driver. Is this a known issue?
When I try to use i2cdump to block-read an EEP OM, my i2cbus hangs.
Please find my output for 2.6.19-1 (working), 2.6.22.14-72 (working)
and 2.6.23.9-85 (not working).
Note: SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R)
Ivo
[root at localhost ~]# uname -r
2.6.19-1.2911.fc6
[root at localhost ~]# modprobe i2c-dev
[root at localhost ~]# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: XX XX XX XX XX 08 XX XX XX XX XX XX XX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
40: XX XX XX XX 44 XX XX XX XX XX XX XX XX XX XX XX
50: 50 XX XX XX 54 55 XX XX XX XX XX XX XX XX XX XX
60: XX XX XX XX XX XX XX XX XX 69 XX XX XX XX XX XX
70: XX XX XX 73 XX XX XX XX
[root at localhost ~]# i2cdump -y 0 0x55 s
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 08 07 0d 0a 01 40 00 04 60 70 00 82 08 00 01 0e ?????@.?`p.??.??
10: 04 0c 01 02 20 c0 75 70 00 00 48 30 48 2a 40 75 ???? ?up..H0H*@u
[root at localhost ~]# i2cdump -y 0 0x55 s
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 08 07 0d 0a 01 40 00 04 60 70 00 82 08 00 01 0e ?????@.?`p.??.??
10: 04 0c 01 02 20 c0 75 70 00 00 48 30 48 2a 40 75 ???? ?up..H0H*@u
====
[root at localhost ~]# uname -r
2.6.22.14-72.fc6
[root at localhost ~]# modprobe i2c-dev
[root at localhost ~]# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: XX XX XX XX XX 08 XX XX XX XX XX XX XX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
40: XX XX XX XX 44 XX XX XX XX XX XX XX XX XX XX XX
50: 50 XX XX XX 54 55 XX XX XX XX XX XX XX XX XX XX
60: XX XX XX XX XX XX XX XX XX 69 XX XX XX XX XX XX
70: XX XX XX 73 XX XX XX XX
[root at localhost ~]# i2cdump -y 0 0x55 s
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 08 07 0d 0a 01 40 00 04 60 70 00 82 08 00 01 0e ?????@.?`p.??.??
10: 04 0c 01 02 20 c0 75 70 00 00 48 30 48 2a 40 75 ???? ?up..H0H*@u
[root at localhost ~]# i2cdump -y 0 0x55 s
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 08 07 0d 0a 01 40 00 04 60 70 00 82 08 00 01 0e ?????@.?`p.??.??
10: 04 0c 01 02 20 c0 75 70 00 00 48 30 48 2a 40 75 ???? ?up..H0H*@u
====
[root at localhost ~]# uname -r
2.6.23.9-85.fc8
[root at localhost ~]# modprobe i2c-dev
[root at localhost ~]# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- 54 55 -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- 69 -- -- -- -- -- --
70: -- -- -- 73 -- -- -- --
[root at localhost ~]# i2cdump -y 0 0x55 s
Error: Block read failed, return code -1
[root at localhost ~]# i2cdump -y 0 0x55 s
Error: Block read failed, return code -1
(i2c Bus hangs completely, poweroff needed.)
More information about the i2c
mailing list