1. 27 9月, 2006 12 次提交
  2. 06 8月, 2006 1 次提交
    • D
      [PATCH] SCX200_ACB: eliminate spurious timeout errors · 3e3183ba
      David Woodhouse 提交于
      While busy-waiting for completion, check the hardware after scheduling;
      don't schedule and then immediately check the _timeout_.  If the yield()
      took a long time (as it does on my OLPC prototype board when it's busy),
      we'd report a timeout even though the hardware was now ready.
      
      This fixes it, and also switches the yield() for a cond_resched() because
      we don't actually want to be _that_ nice about it.  I see nice
      tightly-packed SMBus transactions now, rather than waiting for milliseconds
      between successive phases.
      
      Actually, we shouldn't be busy-waiting here at all.  We should be using
      interrupts.  That's an exercise for another day though.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Cc: Christer Weinigel <wingel@nano-system.com>
      Cc: <Jordan.Crouse@amd.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3e3183ba
  3. 31 7月, 2006 1 次提交
  4. 13 7月, 2006 4 次提交
  5. 03 7月, 2006 1 次提交
  6. 01 7月, 2006 2 次提交
  7. 28 6月, 2006 1 次提交
    • D
      [PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled · d6fcb3b9
      Daniel Ritz 提交于
      Commit 02dd7ae2 ("[PATCH] i2c-i801:
      Merge setup function") has a missing return 0 in the _probe() function.
      This means the error path is always executed and pci_disable_device() is
      called even when the device just got successfully enabled.
      
      Having the SMBus device disabled makes some systems (eg.
      Fujitsu-Siemens Lifebook E8010) hang hard during power-off.
      
      Intead of reverting the whole commit this patch fixes it up:
      - don't ever call pci_disable_device(), also not in the _remove() function
        to avoid hangs
      - fix missing pci_release_region() in error path
      Signed-off-by: NDaniel Ritz <daniel.ritz@gmx.ch>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d6fcb3b9
  8. 23 6月, 2006 15 次提交
  9. 21 6月, 2006 1 次提交
  10. 27 5月, 2006 1 次提交
  11. 10 5月, 2006 1 次提交
    • J
      [PATCH] scx200_acb: Fix for the CS5535 errata · 95563d34
      Jordan Crouse 提交于
      This is a fix for the CS5535 errata 111:
      
      When the SMBus controller tries to access a non-existing device, it sets
      the NEGACK bit, SMBus I/O offset 01h[4], to 1 after it detects no
      acknowledge at the ninth clock.  The specification states that the bit
      can be cleared by writing a 1 to it, but under certain circumstances it
      is possible for this bit to not clear.
      
      Writing a 0 to the bit resets the internal state machine and clears the
      issue.
      
      Since all writable bits in ACBST are W1C bits (write-one-to-clear) the
      second write doesn't affect any other logic except the buggy NEGACK
      state machine. The second write clears an internal register which is
      responsible for "overwriting" the NEGACK bit in ACBST.
      Signed-off-by: NJordan Crouse <jordan.crouse@amd.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      95563d34