1. 21 Oct, 2008 2 commits
    • Tony Lindgren's avatar
      ARM: OMAP3: Fix get_irqnr_and_base to clear spurious interrupt bits · 6c1380c6
      Tony Lindgren authored
      On omap24xx, INTCPS_SIR_IRQ_OFFSET bits [6:0] contains the current
      active interrupt number.
      
      However, on 34xx INTCPS_SIR_IRQ_OFFSET bits [31:7] also contains the
      SPURIOUSIRQFLAG, which gets set if the interrupt sorting information
      is invalid.
      
      If the SPURIOUSIRQFLAG bits are not ignored, the interrupt code will
      occasionally produce a bunch of confusing errors:
      
      irq -33, desc: c02ddcc8, depth: 0, count: 0, unhandled: 0
      ->handle_irq():  c006f23c, handle_bad_irq+0x0/0x22c
      ->chip(): 00000000, 0x0
      ->action(): 00000000
      
      Fix this by masking out only the ACTIVEIRQ bits. Also fix a
      confusing comment.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      6c1380c6
    • Tony Lindgren's avatar
      Revert "OMAP3: ack spurious IRQs in get_irqnr_and_base" · 4b20de38
      Tony Lindgren authored
      This reverts commit 3da0e102.
      
      The real bug behind this issue is the fact that we're not
      masking out the SPURIOUSIRQFLAG bits [31:7] from the active
      interrupt number. The following patch will replace this
      patch with the fix.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      4b20de38
  2. 18 Oct, 2008 1 commit
    • Vikram Pandita's avatar
      Fix bootup crash for LDP platform · df338deb
      Vikram Pandita authored
      Fix following bootup crash on LDP platform by enabling T2 USB driver for MUSB
      
      Backtrace:
      [<c001b9ac>] (musb_platform_init+0x0/0x120) from [<c001b0a8>] (musb_probe+0x208/0xb0c)
       r5:00000000 r4:c0222ad4
      [<c001aea0>] (musb_probe+0x0/0xb0c) from [<c0142e80>] (platform_drv_probe+0x20/0x24)
      [<c0142e60>] (platform_drv_probe+0x0/0x24) from [<c0142118>] (driver_probe_device+0xd0/0x17c)
      [<c0142048>] (driver_probe_device+0x0/0x17c) from [<c0142210>] (__driver_attach+ 0x4c/0x70)
       r7:c0233214 r6:c0233214 r5:c02229ec r4:c0222940
      [<c01421c4>] (__driver_attach+0x0/0x70) from [<c0141790>] (bus_for_each_dev+0x4c/0x84)
       r7:c0233214 r6:c01421c4 r5:c781de94 r4:00000000
      [<c0141744>] (bus_for_each_dev+0x0/0x84) from [<c0141f60>] (driver_attach+0x20/0x28)
       r7:c78999c0 r6:c0234c60 r5:c0233214 r4:00000000
      [<c0141f40>] (driver_attach+0x0/0x28) from [<c0141c1c>] (bus_add_driver+0xa8/0x214)
      [<c0141b74>] (bus_add_driver+0x0/0x214) from [<c0142404>] (driver_register+0x98/0x120)
       r8:00000000 r7:00000000 r6:c0234c60 r5:c0233214 r4:c001e5c4
      [<c014236c>] (driver_register+0x0/0x120) from [<c014303c>] (platform_driver_register+0x78/0x94)
      [<c0142fc4>] (platform_driver_register+0x0/0x94) from [<c0143070>] (platform_driver_probe+0x18/0x68)
      [<c0143058>] (platform_driver_probe+0x0/0x68) from [<c001ad38>] (musb_init+0x3c/0x54)
       r5:c001e510 r4:c001e5c4
      [<c001acfc>] (musb_init+0x0/0x54) from [<c0022298>] (__exception_text_end+0x50/0x168)
      Signed-off-by: default avatarVikram Pandita <vikram.pandita@ti.com>
      Acked-by: default avatarFelipe Balbi <felipe.balbi@nokia.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      df338deb
  3. 17 Oct, 2008 20 commits
  4. 16 Oct, 2008 15 commits
  5. 14 Oct, 2008 1 commit
  6. 11 Oct, 2008 1 commit
    • Paul Walmsley's avatar
      i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle() · 663715fc
      Paul Walmsley authored
      omap_i2c_unidle() and omap_i2c_idle() are called recursively during
      omap_i2c_probe().  This is evidently unexpected and will wipe
      out the I2C interrupt enable register the second time that
      omap_i2c_idle() is called consecutively.  Any I2C transactions
      following a probe of a bus with at least one device on it will then
      time out.
      
      Fix by moving omap_i2c_idle() further up in omap_i2c_probe().  Ensure
      the I2C controller is marked as idle before the probe starts.  Also
      attempt to catch future reappearances of this bug early in development
      by warning in omap_i2c_{un,}idle() when they are called recursively.
      
      Problem reported by David Brownell <david-b@pacbell.net>.
      
      Tested on 3430SDP and 2430SDP.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Acked-by; Steve Sakoman <steve@sakoman.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      663715fc