[<prev] [next>] [day] [month] [year] [list]
Message-ID: <05003591095D3240AA548FBF7CBB20251E8A7327@DGGEML502-MBX.china.huawei.com>
Date: Mon, 7 Dec 2020 09:58:57 +0000
From: "wanqian (D)" <wanqian10@...wei.com>
To: "tj@...nel.org" <tj@...nel.org>
CC: "linux-ide@...r.kernel.org" <linux-ide@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Should link->eh_context.i.serror’s value incorporate link->eh_info.serror before doning ata_eh_analyze_serror()?
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
Powered by blists - more mailing lists