1. 06 Nov, 2008 24 commits
  2. 04 Nov, 2008 15 commits
  3. 03 Nov, 2008 1 commit
    • Lennert Buytenhek's avatar
      mv643xx_eth: fix SMI bus access timeouts · ee04448d
      Lennert Buytenhek authored
      The mv643xx_eth mii bus implementation uses wait_event_timeout() to
      wait for SMI completion interrupts.
      
      If wait_event_timeout() would return zero, mv643xx_eth would conclude
      that the SMI access timed out, but this is not necessarily true --
      wait_event_timeout() can also return zero in the case where the SMI
      completion interrupt did happen in time but where it took longer than
      the requested timeout for the process performing the SMI access to be
      scheduled again.  This would lead to occasional SMI access timeouts
      when the system would be under heavy load.
      
      The fix is to ignore the return value of wait_event_timeout(), and
      to re-check the SMI done bit after wait_event_timeout() returns to
      determine whether or not the SMI access timed out.
      Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      ee04448d