1. 16 Oct, 2008 9 commits
  2. 14 Oct, 2008 1 commit
  3. 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
  4. 10 Oct, 2008 12 commits
  5. 09 Oct, 2008 12 commits
  6. 08 Oct, 2008 3 commits
  7. 07 Oct, 2008 2 commits
    • Daniele Lacamera's avatar
      tcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd. · 9d2c27e1
      Daniele Lacamera authored
      Because of rounding, in certain conditions, i.e. when in congestion
      avoidance state rho is smaller than 1/128 of the current cwnd, TCP
      Hybla congestion control starves and the cwnd is kept constant
      forever.
      
      This patch forces an increment by one segment after #send_cwnd calls
      without increments(newreno behavior).
      Signed-off-by: default avatarDaniele Lacamera <root@danielinux.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d2c27e1
    • Herbert Xu's avatar
      net: Fix netdev_run_todo dead-lock · 58ec3b4d
      Herbert Xu authored
      Benjamin Thery tracked down a bug that explains many instances
      of the error
      
      unregister_netdevice: waiting for %s to become free. Usage count = %d
      
      It turns out that netdev_run_todo can dead-lock with itself if
      a second instance of it is run in a thread that will then free
      a reference to the device waited on by the first instance.
      
      The problem is really quite silly.  We were trying to create
      parallelism where none was required.  As netdev_run_todo always
      follows a RTNL section, and that todo tasks can only be added
      with the RTNL held, by definition you should only need to wait
      for the very ones that you've added and be done with it.
      
      There is no need for a second mutex or spinlock.
      
      This is exactly what the following patch does.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      58ec3b4d