From: Tejun Heo <htejun@gmail.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.com>,
linux-ide@vger.kernel.org, albertcc@tw.ibm.com
Subject: Re: [PATCH 04/12] libata: add detailed AC_ERR_* flags
Date: Sun, 22 Jan 2006 18:50:07 +0900 [thread overview]
Message-ID: <43D3554F.7060105@gmail.com> (raw)
In-Reply-To: <43D35476.2060202@gmail.com>
Tejun Heo wrote:
> Jeff Garzik wrote:
>
>> Tejun Heo wrote:
>>
>>> Add detailed AC_ERR_* flags and use them. Long-term goal is to
>>> describe all errors with err_mask and tf combination (tf for failed
>>> sector information, etc...). After proper error diagnosis is
>>> implemented, sense data should also be generated from err_mask instead
>>> of directly from hardware tf registers as it is currently.
>>>
>>> Signed-off-by: Tejun Heo <htejun@gmail.com>
>>>
>>> ---
>>>
>>> drivers/scsi/ahci.c | 6 ++----
>>> drivers/scsi/libata-core.c | 12 ++++++------
>>> drivers/scsi/sata_mv.c | 2 +-
>>> drivers/scsi/sata_sil24.c | 2 +-
>>> include/linux/libata.h | 15 ++++++++++-----
>>> 5 files changed, 20 insertions(+), 17 deletions(-)
>>>
>>> 1939435a8f0e7b2b1578b84cedd49f8adcab1ea9
>>> diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
>>> index 30676b0..e7b937b 100644
>>> --- a/drivers/scsi/ahci.c
>>> +++ b/drivers/scsi/ahci.c
>>> @@ -680,7 +680,7 @@ static void ahci_eng_timeout(struct ata_
>>> * not being called from the SCSI EH.
>>> */
>>> qc->scsidone = scsi_finish_command;
>>> - qc->err_mask |= AC_ERR_OTHER;
>>> + qc->err_mask |= AC_ERR_TIMEOUT;
>>> ata_qc_complete(qc);
>>> }
>>>
>>> @@ -720,10 +720,8 @@ static inline int ahci_host_intr(struct
>>> /* command processing has stopped due to error; restart */
>>> ahci_restart_port(ap, status);
>>>
>>> - if (qc) {
>>> - qc->err_mask |= AC_ERR_OTHER;
>>> + if (qc)
>>> ata_qc_complete(qc);
>>> - }
>>
>>
>>
>> why are you erasing the error mask here?
>>
>
> Oh.. I forgot to write about it. About 10 lines above, detailed
> err_mask is determined from irq status but qc->err_mask always used to
> be set to AC_ERR_OTHER regardless of the determined value.
>
And, yeah, I forgot to do qc->err_mask |= err_mask. :-P
--
tejun
next prev parent reply other threads:[~2006-01-22 9:50 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-22 7:58 [PATCHSET] libata: various fixes related to EH Tejun Heo
2006-01-22 7:58 ` [PATCH 06/12] SCSI: export scsi_eh_finish_cmd() and scsi_eh_flush_done_q() Tejun Heo
2006-01-22 9:36 ` Jeff Garzik
2006-01-22 7:58 ` [PATCH 05/12] libata: return AC_ERR_* from issue functions Tejun Heo
2006-01-22 9:36 ` Jeff Garzik
2006-01-22 7:58 ` [PATCH 04/12] libata: add detailed AC_ERR_* flags Tejun Heo
2006-01-22 9:30 ` Jeff Garzik
2006-01-22 9:46 ` Tejun Heo
2006-01-22 9:50 ` Tejun Heo [this message]
2006-01-22 7:58 ` [PATCH 02/12] libata: make the owner of a qc responsible for freeing it Tejun Heo
2006-01-22 9:37 ` Jeff Garzik
2006-01-22 10:16 ` Tejun Heo
2006-01-22 7:58 ` [PATCH 01/12] libata: fold __ata_qc_complete() into ata_qc_free() Tejun Heo
2006-01-22 7:58 ` [PATCH 03/12] libata: fix ata_qc_issue() error handling Tejun Heo
2006-01-22 9:25 ` Jeff Garzik
2006-01-22 7:58 ` [PATCH 12/12] libata: EH / pio tasks synchronization Tejun Heo
2006-01-22 9:58 ` Jeff Garzik
2006-01-22 10:27 ` Tejun Heo
2006-01-22 7:58 ` [PATCH 10/12] libata: implement ATA_FLAG_IN_EH port flag Tejun Heo
2006-01-22 9:49 ` Jeff Garzik
2006-01-22 7:58 ` [PATCH 11/12] libata: ignore normal qc completion during EH Tejun Heo
2006-01-22 9:53 ` Jeff Garzik
2006-01-22 11:09 ` Tejun Heo
2006-01-22 7:58 ` [PATCH 07/12] libata: implement and apply ata_eh_qc_complete/retry() Tejun Heo
2006-01-22 7:58 ` [PATCH 09/12] libata: kill NULL qc handling from ->eng_timeout callbacks Tejun Heo
2006-01-22 7:58 ` [PATCH 08/12] libata: fix handling of race between timeout and completion Tejun Heo
2006-01-22 9:41 ` Jeff Garzik
2006-01-22 9:10 ` [PATCHSET] libata: various fixes related to EH Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43D3554F.7060105@gmail.com \
--to=htejun@gmail.com \
--cc=albertcc@tw.ibm.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).