• Tejun Heo's avatar
    [PATCH] libata: improve EH action and EHI flag handling · 13abf50d
    Tejun Heo authored
    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: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    13abf50d
libata-eh.c 53.1 KB