From: James Bottomley <James.Bottomley@SteelEye.com>
To: ltuikov@yahoo.com
Cc: "Tarte, Robert" <Robert_Tarte@adaptec.com>,
"Hammer, Jack" <Jack_Hammer@adaptec.com>,
linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: Need help with another aic94xx sequencer problem
Date: Sun, 27 Aug 2006 22:26:39 -0500 [thread overview]
Message-ID: <1156735599.3460.29.camel@mulgrave.il.steeleye.com> (raw)
In-Reply-To: <1156429369.1024.14.camel@mulgrave.il.steeleye.com>
On Thu, 2006-08-24 at 09:22 -0500, James Bottomley wrote:
> On Thu, 2006-08-24 at 01:58 -0700, Luben Tuikov wrote:
> > The sequencer response is correct but incomplete. The interpretation
> > is a bad compromize between SSP and STP.
> >
> > TF_TMF_NO_CTX should be interpreted as TMF_RESP_FUNC_ESUPP to get
> > "best of both worlds", and then upper layers would do the proper
> > thing depending on the protocol.
>
> OK ... I can do that easily; that should cause the error handler to try
> with a bigger hammer.
So, let's try this as the first order fix.
James
Index: BUILD-2.6/drivers/scsi/aic94xx/aic94xx_tmf.c
===================================================================
--- BUILD-2.6.orig/drivers/scsi/aic94xx/aic94xx_tmf.c 2006-08-26 09:35:05.000000000 -0500
+++ BUILD-2.6/drivers/scsi/aic94xx/aic94xx_tmf.c 2006-08-26 09:37:54.000000000 -0500
@@ -462,13 +462,15 @@ int asd_abort_task(struct sas_task *task
if (task->task_state_flags & SAS_TASK_STATE_DONE)
res = TMF_RESP_FUNC_COMPLETE;
spin_unlock_irqrestore(&task->task_state_lock, flags);
- goto out_done; break;
+ goto out_done;
case TF_TMF_NO_TAG + 0xFF00:
case TF_TMF_TAG_FREE + 0xFF00: /* the tag is in the free list */
- case TF_TMF_NO_CTX + 0xFF00: /* not in seq, or proto != SSP */
case TF_TMF_NO_CONN_HANDLE + 0xFF00: /* no such device */
res = TMF_RESP_FUNC_COMPLETE;
- goto out_done; break;
+ goto out_done;
+ case TF_TMF_NO_CTX + 0xFF00: /* not in seq, or proto != SSP */
+ res = TMF_RESP_FUNC_ESUPP;
+ goto out;
}
out_done:
if (res == TMF_RESP_FUNC_COMPLETE) {
@@ -558,10 +560,12 @@ static int asd_initiate_ssp_tmf(struct d
break;
case TF_TMF_NO_TAG + 0xFF00:
case TF_TMF_TAG_FREE + 0xFF00: /* the tag is in the free list */
- case TF_TMF_NO_CTX + 0xFF00: /* not in seq, or proto != SSP */
case TF_TMF_NO_CONN_HANDLE + 0xFF00: /* no such device */
res = TMF_RESP_FUNC_COMPLETE;
break;
+ case TF_TMF_NO_CTX + 0xFF00: /* not in seq, or proto != SSP */
+ res = TMF_RESP_FUNC_ESUPP;
+ break;
default:
ASD_DPRINTK("%s: converting result 0x%x to TMF_RESP_FUNC_FAILED\n",
__FUNCTION__, res);
prev parent reply other threads:[~2006-08-28 3:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-22 20:28 Need help with another aic94xx sequencer problem James Bottomley
2006-08-22 20:44 ` Tarte, Robert
2006-08-22 20:53 ` Mike Anderson
2006-08-22 22:44 ` James Bottomley
2006-08-22 23:58 ` Mike Anderson
2006-08-24 9:08 ` Luben Tuikov
2006-08-24 8:58 ` Luben Tuikov
2006-08-24 14:22 ` James Bottomley
2006-08-28 3:26 ` James Bottomley [this message]
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=1156735599.3460.29.camel@mulgrave.il.steeleye.com \
--to=james.bottomley@steeleye.com \
--cc=Jack_Hammer@adaptec.com \
--cc=Robert_Tarte@adaptec.com \
--cc=linux-scsi@vger.kernel.org \
--cc=ltuikov@yahoo.com \
/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