Hi Tejun,
      In SATA EH processing, I found the SERROR register was cleared during 
interrupt handling in ahci_error_intr(), and its value has been saved to the 
link->eh_info.serror. 
But the SERROR register value was read again in the ata_eh_link_autopsy(), and 
its value was saved to link->eh_context.i.serror which is analyzed by 
ata_eh_analyze_serror().
Obviously, the link->eh_context.i.serror’s value will be zero if no host 
perceptible error is found after it was cleared in interrupt handler. 
      Why ata_link structure should maintain two ata_eh_info instances: 
link->eh_info and link->eh_context.i?
      Should link->eh_context.i.serror’s value incorporate link->eh_info.serror 
before doing ata_eh_analyze_serror()?

Thanks,
Qian Wan

Reply via email to