Re: wrong assumption in i2c-at91-master.c ?

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

 



Hi Codrin,

Am 2022-03-07 18:09, schrieb Codrin.Ciubotariu@xxxxxxxxxxxxx:
On 07.03.2022 17:57, Michael Walle wrote:
I saw that the at91 i2c driver has some kind of heuristic in
at91_twi_xfer(). It assumes that if there are exactly two
messages to transfer, the first is the address write of a
common i2c write address, read data transaction. I don't
think that assumption is correct.

Also there is no check if msg->len is actually smaller
than the width of the address which can be written to
AT91_TWI_IADR.

I think, what is at least missing is that, the first
one is actually a write and have at max 3 bytes (IIRC
thats the max width of AT91_TWI_IADR).

Actually, I don't find any code at all which would
handle multiple messages. Looks like it just supports
num == 2 (and assumes the first message fits into the
AT91_TWI_IADR) and num == 1.

The constraints are set using the quirks feature [1] of the i2c subsystem.

Ahhh! Now it makes sense. Thanks.

-michael



[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