On Fri, Dec 15, 2023 at 11:55:20AM +0530, Prasanth Mantena wrote: > On 15:15-20231107, Neha Malcom Francis wrote: > > Hi Prasanth, > > > > On 30/10/23 22:34, Prasanth Babu Mantena wrote: > > > EEPROM detection logic in ti_i2c_eeprom_get() involves reading > > > the total size and the 1-byte size with an offset 1. The commit > > > 9f393a2d7af8 ("board: ti: common: board_detect: Fix EEPROM read > > > quirk for 2-byte") that attempts to fix this uses a wrong pointer to > > > compare. > > > > > > The value with one offset is read into offset_test, but the pointer > > > used to match was still ep, resulting in an invalid comparison of the > > > values. The intent is to identify bad 2-byte addressing eeproms that > > > get stuck on the successive reads. > > > > > > Fixes: 9f393a2d7af8 (board: ti: common: board_detect: Fix EEPROM read > > > quirk for 2-byte) > > > Signed-off-by: Prasanth Babu Mantena <p-mant...@ti.com> > > > Tested-by: Matwey V. Kornilov <matwey.korni...@gmail.com> > > > --- > > > v3 <--> v2: > > > Improved and concise commit description. > > > > > > v2 <--> v1: > > > Fix inplace for the else condition of CONFIG_IS_ENABLED(DM_I2C). > > > Improved commit message. > > > > > > board/ti/common/board_detect.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/board/ti/common/board_detect.c > > > b/board/ti/common/board_detect.c > > > index 9a53884c98..869f7a47f8 100644 > > > --- a/board/ti/common/board_detect.c > > > +++ b/board/ti/common/board_detect.c > > > @@ -128,7 +128,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int > > > bus_addr, int dev_addr, > > > rc = dm_i2c_read(dev, 0x1, &offset_test, sizeof(offset_test)); > > > - if (*((u32 *)ep) != (header & 0xFF)) > > > + if (offset_test != ((header >> 8) & 0xFF)) > > > one_byte_addressing = false; > > > /* Corrupted data??? */ > > > @@ -180,7 +180,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int > > > bus_addr, int dev_addr, > > > rc = i2c_read(dev_addr, 0x1, byte, &offset_test, > > > sizeof(offset_test)); > > > - if (*((u32 *)ep) != (header & 0xFF)) > > > + if (offset_test != ((header >> 8) & 0xFF)) > > > one_byte_addressing = false; > > > /* Corrupted data??? */ > > > > Reviewed-by: Neha Malcom Francis <n-fran...@ti.com> > > > > Can this patch be considered for merge considering no further comments.
Given the "fun" of the various beagle families I think I was still hoping for a tested-by on some of the corner cases they have. -- Tom
signature.asc
Description: PGP signature