From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Ivo Manca <pinkel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Oleg Ryjkov <oryjkov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
Subject: Re: i2c-i801: Regression between 2.6.19-1 & 2.6.23.9
Date: Wed, 9 Jan 2008 13:53:41 +0100 [thread overview]
Message-ID: <20080109135341.461688d1@hyperion.delvare> (raw)
In-Reply-To: <dba8564e0801090308j34215f98rd758dff3702b194-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Ivo,
On Wed, 9 Jan 2008 12:08:28 +0100, Ivo Manca wrote:
> 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?
No, you are the first person to report this problem as far as I know.
> When I try to use i2cdump to block-read an EEP OM, my i2cbus hangs.
What is an "EEP OM"?
Please note that EEPROMs typically want I2C block reads (mode "i" of
i2cdump) and not SMBus block reads. Using the wrong mode shouldn't hang
the bus though.
> 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@localhost ~]# uname -r
> 2.6.19-1.2911.fc6
>
> [root@localhost ~]# modprobe i2c-dev
> [root@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@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@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@localhost ~]# uname -r
> 2.6.22.14-72.fc6
>
> [root@localhost ~]# modprobe i2c-dev
>
> [root@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@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@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
So 2.6.22 works as good as 2.6.19 did, right?
>
> ====
>
> [root@localhost ~]# uname -r
> 2.6.23.9-85.fc8
>
> [root@localhost ~]# modprobe i2c-dev
>
> [root@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 -- -- -- --
I note that this version of i2cdetect is more recent than the one you
used when testing 2.6.19-1.2911.fc6 and 2.6.22.14-72.fc6 kernels. I
suppose that this is the case for i2cdump as well... To make sure that
this is really an i2c-i801 driver issue and not a user-space issue, can
you please try again using the exact same version of i2cdetect and
i2cdump?
>
> [root@localhost ~]# i2cdump -y 0 0x55 s
> Error: Block read failed, return code -1
>
> [root@localhost ~]# i2cdump -y 0 0x55 s
> Error: Block read failed, return code -1
>
> (i2c Bus hangs completely, poweroff needed.)
Note that i2cdump relies on i2c-dev, so the problem could be in
i2c-dev. There were changes to i2c-dev between 2.6.22 and 2.6.23, that
affect I2C block reads, but not SMBus block reads. There were two large
patches applied to i2c-i801:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ca8b9e32a11a7cbfecbef00c8451a79fe1af392e
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7edcb9abb594a8f3b4ca756e03d01c870aeae127
You may also want to check what fedora-specific patches your kernels
include for i2c-i801 and i2c-dev, if any. Can you reproduce the problem
with a vanilla 2.6.23.12 kernel?
On my side I'll check if I can reproduce the problem on one of my test
systems. I don't test SMBus block reads very often so I could have
missed it.
--
Jean Delvare
next prev parent reply other threads:[~2008-01-09 12:53 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 11:08 i2c-i801: Regression between 2.6.19-1 & 2.6.23.9 Ivo Manca
[not found] ` <dba8564e0801090308j34215f98rd758dff3702b194-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-01-09 12:53 ` Jean Delvare [this message]
[not found] ` <20080109135341.461688d1-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-01-09 13:47 ` i2c-i801: Regression between 2.6.22.9 " Ivo Manca
[not found] ` <4784D068.8080401-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-01-09 14:42 ` Jean Delvare
[not found] ` <20080109154216.3cec6053-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-01-09 18:09 ` Ivo Manca
[not found] ` <47850DDB.5080101-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-01-10 14:09 ` Jean Delvare
[not found] ` <20080110150917.646c2677-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-02-08 16:22 ` I2c-i801 interrupt support (was: Re: i2c-i801: Regression between 2.6.22.9 & 2.6.23.9) Ivo Manca
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080109135341.461688d1@hyperion.delvare \
--to=khali-puyad+kwke1g9huczpvpmw@public.gmane.org \
--cc=i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org \
--cc=oryjkov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=pinkel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox