Hi,

On Mon, Jan 14, 2013 at 08:40:18PM +0200, Aaro Koskinen wrote:
> On Mon, Jan 14, 2013 at 05:59:12PM +0000, Paul Walmsley wrote:
> > Here are some basic OMAP test results for Linux v3.8-rc3.
> > Logs and other details at:
> > 
> >     http://www.pwsan.com/omap/testlogs/test_v3.8-rc3/20130109222058/
> > 
> > 
> > Test summary
> > ------------
> > 
> > Boot to userspace:
> >     Pass ( 9/11): 2420n800, 2430sdp, 3517evm, 3530es3beagle,
> >               3730beaglexm, 37xxevm, 4430es2panda, 5912osk,
> >               4460pandaes
> >     FAIL ( 2/11): am335xbone, cmt3517 
> 
> N900 boot is unstable again, I2C issues are back.

damn!

> Boot succeeds and fails randomly. Let's see if this can be bisected.
> The same kernel works on N950.

fair enough, it might be something related to some errata fix which
might have been missed. Can you apply this small patch just so I know if
there is something pending in CNT reg ?

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 20d41bf..173e883 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -462,6 +462,10 @@ static int omap_i2c_wait_for_bb(struct omap_i2c_dev *dev)
        while (omap_i2c_read_reg(dev, OMAP_I2C_STAT_REG) & OMAP_I2C_STAT_BB) {
                if (time_after(jiffies, timeout)) {
                        dev_warn(dev->dev, "timeout waiting for bus ready\n");
+                       dev_warn(dev->dev, "SA %04x CON %04x CNT %04x\n",
+                                       omap_i2c_read_reg(dev, OMAP_I2C_SA_REG),
+                                       omap_i2c_read_reg(dev, 
OMAP_I2C_CON_REG),
+                                       omap_i2c_read_reg(dev, 
OMAP_I2C_CNT_REG));
                        return -ETIMEDOUT;
                }
                msleep(1);


you might also want to try merging my latest i2c patches, which missed
the merge window, as they might help with this issue too.

The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20:

  Linux 3.8-rc3 (2013-01-09 18:59:55 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git i2c-deferred-STP

for you to fetch changes up to a7b1b41b270be84f6bf6e7d3654d74c873b3daf8:

  i2c: omap: get rid of b_hw flag (2013-01-14 21:04:16 +0200)

----------------------------------------------------------------
Felipe Balbi (6):
      i2c: omap: no need to access platform_device
      i2c: omap: also complete() when stat becomes zero
      i2c: omap: improve 'rev' a little bit
      i2c: omap: in case of VERSION_2 read IRQSTATUS_RAW but write to IRQSTATUS
      i2c: omap: wait for transfer completion before sending STP bit
      i2c: omap: get rid of b_hw flag

 drivers/i2c/busses/i2c-omap.c | 184 +++++++++++++++++++++---------------------
 1 file changed, 93 insertions(+), 91 deletions(-)

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to