1. 26 Oct, 2010 5 commits
    • Tejun Heo's avatar
      ide: clean up timed out request handling · dd8717da
      Tejun Heo authored
      8f6205cd introduced a bug where a
      timed out DMA request is never requeued and lost.
      6072f749 fixed this by making
      ide_dma_timeout_retry() requeue the request itself.  While the fix is
      correct, it makes DMA and non-DMA paths asymmetric regarding how the
      in flight request is requeued.
      
      As long as hwif->rq is set, the IDE driver is assuming ownership of
      the request and the request should either be completed or requeued
      when clearing hwif->rq.  In the timeout path, the ide driver holds
      onto the request as long as the recovery action (ie. reset) is in
      progress and clears it after the state machine is stopped (ide_stopped
      return), so the existing requeueing logic is correct.  The bug
      occurred because ide_dma_timeout_retry() explicitly clears hwif->rq
      without requeueing it.
      
      ide_dma_timeout_retry() is called only by ide_timer_expiry() and
      returns ide_started only when ide_error() would return it - ie. after
      reset state machine has started in which case the state machine will
      eventually end up executing the ide_stopped path in ide_timer_expiry()
      after reset protocol is complete.  So, there is no need to clear
      hwif->rq from ide_dma_timeout_retry().  ide_timer_expiry() will handle
      it the same way as PIO timeout path.
      
      Kill hwif->rq clearing and requeueing from ide_dma_timeout_retry() and
      let ide_timer_expiry() deal with it.  The end result should remain the
      same.
      
      grepping shows ide_dma_timeout_retry() is the only site which clears
      hwif->rq without taking care of the request, so there shouldn't be
      similar fallouts.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd8717da
    • Sergei Shtylyov's avatar
      hpt366: fix clock turnaround · bbe54d78
      Sergei Shtylyov authored
      DPLL clock (0x21) should be used for writes and PCI clock (0x23) for reads,
      not vice versa.
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bbe54d78
    • Sergei Shtylyov's avatar
      hpt366: add debounce delay to cable_detect() method · 5d3f1a49
      Sergei Shtylyov authored
      Alan Cox reported that cable detection sometimes works unreliably
      for HPT3xxN and that the issue is fixed by adding debounce delay
      as used by the vendor drivers.
      
      While at it, get rid of unneeded parens/space in the vicinity...
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d3f1a49
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://android.git.kernel.org/kernel/tegra · b18cae42
      Linus Torvalds authored
      * 'for-next' of git://android.git.kernel.org/kernel/tegra:
        spi: tegra: fix error setting on timeout
        spi: add spi_tegra driver
        tegra: harmony: enable PCI Express
        tegra: add PCI Express support
        tegra: add PCI Express clocks
        [ARM] tegra: Add APB DMA support
        [ARM] tegra: Add cpufreq support
        [ARM] tegra: common: Update common clock init table
        [ARM] tegra: clock: Add dvfs support, bug fixes, and cleanups
        [ARM] tegra: Add support for reading fuses
        [ARM] tegra: gpio: Add suspend and wake support
        [ARM] tegra: pinmux: add safe values, move tegra2, add suspend
        [ARM] tegra: add suspend and mirror irqs to legacy controller
        [ARM] tegra: Add legacy irq support
        [ARM] tegra: update iomap
      b18cae42
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin · 4833c16d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
        Blackfin: fix inverted anomaly 05000481 logic
        Blackfin: drop unused irq_panic()/DEBUG_ICACHE_CHECK
        Blackfin: ppi/spi/twi headers: add missing __BFP undef
        Blackfin: update defconfigs
        Blackfin: bfin_twi.h: start a common TWI header
        netdev: bfin_mac: push settings to platform resources
      4833c16d
  2. 25 Oct, 2010 35 commits