1. 20 7月, 2006 3 次提交
    • T
      [PATCH] libata: improve EH action and EHI flag handling · 13abf50d
      Tejun Heo 提交于
      Update ata_eh_about_to_do() and ata_eh_done() to improve EH action and
      EHI flag handling.
      
      * There are two types of EHI flags - one which expires on successful
        EH and the other which expires on a successful reset.  Make this
        distinction clear.
      
      * Unlike other EH actions, reset actions are represented by two EH
        action masks and a EHI modifier.  Implement correct about_to_do/done
        semantics for resets.  That is, prior to reset, related EH info is
        sucked in from ehi and cleared, and after reset is complete, related
        EH info in ehc is cleared.
      
      These changes improve consistency and remove unnecessary EH actions
      caused by stale EH action masks and EHI flags.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      13abf50d
    • T
      [PATCH] libata: fix eh_skip_recovery condition · 7c8c2cff
      Tejun Heo 提交于
      * (ata_dev_absent() || ata_dev_ready()) test doesn't indicate
        SUSPENDED state properly.  Fix it.
      
      * Link resuming resets shouldn't be skipped.  Don't skip recovery on
        EHI_RESUME_LINK.  This doesn't matter for host ports as EHI_RESUME
        always coincides with EHI_HOTPLUGGED which makes attached disabled
        devices vacant.  However, PMP reset causes non-hotplug link-resuming
        resets which shouldn't be skipped.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      7c8c2cff
    • T
      [PATCH] libata: fix autopsy ehc->i.action and ehc->i.dev handling · 4528e4da
      Tejun Heo 提交于
      Commit 0662c58b updated
      ata_eh_autopsy() to OR determined action to ehc->i.action to preserve
      action mask set directly into ehc->i.action by nested functions.  This
      broke action mask clearing on SENSE_VALID case causing revalidation
      and EH complete message on successful ATAPI CC.
      
      This patch removes two local variables - action and failed_dev - which
      cache ehc->i.action and ehc->i.dev respectively, and make the function
      directly modify ehc->i.* fields to remove aliasing issues.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4528e4da
  2. 16 7月, 2006 11 次提交
  3. 15 7月, 2006 26 次提交