public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Koskinen Aaro (NSN - FI/Helsinki)" <aaro.koskinen@nsn.com>
To: ext James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: michaelc@cs.wisc.edu, linux-scsi@vger.kernel.org,
	Matthew Wilcox <matthew@wil.cx>
Subject: Re: [PATCH 1/1] sym53c8xx_2: Fix validation (Fix hotplug support).
Date: Mon, 18 Aug 2008 14:25:06 +0300	[thread overview]
Message-ID: <48A95C12.9070304@nsn.com> (raw)
In-Reply-To: <1219030321.3917.44.camel@localhost.localdomain>

James Bottomley wrote:
> This seems to be a bug in sym_prepare_nego(), yes ... it should do
> either a PPR or WDTR/SDTR sequence ... there is a case where it won't do
> anything when asked.
> 
>> - The patch deletes code from sym_sir_task_recovery()/M_RESET branch. It's
>> unnecessary to reset negotiation status there, since any reset eventually
>> triggers S_CHECK_COND.
> 
> It looks like a reasonable safety feature against problem drives ... I'd
> be hesitant to remove it.

To me, the code looked like it was added there to compensate the bug 
mentioned above. Anyway, it probably does no harm to leave it there.

>> - It seems that the SPI "domain validation" consists solely of INQUIRY
>> commands.
> 
> Actually, no.  DV uses Inquiry solely for non DT negotiations because of
> potential echo buffer problems in certain drives but it uses the echo
> buffer for DT verification.

Yes, you are correct.

>>  As a result, if (b) is followed, targets that support PPR would
>> never get to the point of doing PPR transfers during domain validation
>> (but immediately after on the next command following the dv), since each
>> INQUIRY re-starts the negotiation cycle. This patch solves this by making
>> it possible to do the negotiation cycle WIDE -> SYNC -> PPR during a
>> single SCSI command.
> 
> I don't quite follow this.  The way SPI DV works is that we start out
> fully async for the first INQUIRY, then move to wide async (to check no
> bus width domain problems, which are the most common) then jump to the
> highest speed supported by the device and transport.  i.e. we always do
> 
> async -> WDTR -> SDTR
> 
> or
> 
> async -> WDTR -> PPR
> 
> we never go
> 
> async -> WDTR -> SDTR -> PPR.
> 
> What's the actual problem you are seeing?

If you consider this patch, the WDTR message will be resent when the DV 
jumps to the highest speed, and then, if you look at the code in 
sym_wide_nego(), the driver will also send SDTR after the target 
responds to WDTR since the goal offset is now set. So what you will get 
is WDTR -> SDTR -> PPR.

But now that I think of it, perhaps the code in sym_wide_nego() should 
already check whether to send PPR instead of SDTR if the goals are 
appropriate.

A.


  parent reply	other threads:[~2008-08-18 11:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-17 20:18 [PATCH 1/1] sym53c8xx_2: Fix validation (Fix hotplug support) michaelc
2008-08-18  3:32 ` James Bottomley
2008-08-18  3:47   ` Mike Christie
2008-08-18 14:10     ` James Bottomley
2008-08-18 16:38       ` Koskinen Aaro (NSN - FI/Helsinki)
2008-08-18 18:20       ` Mike Christie
2008-11-19 13:23         ` [PATCH] sym53c8xx_2: Keep transfer negotiations valid (2.6.27.5) Koskinen Aaro (NSN - FI/Helsinki)
2008-12-16 17:15           ` Aaro Koskinen
2008-08-18 11:25   ` Koskinen Aaro (NSN - FI/Helsinki) [this message]
2008-08-18 14:53     ` [PATCH 1/1] sym53c8xx_2: Fix validation (Fix hotplug support) James Bottomley

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=48A95C12.9070304@nsn.com \
    --to=aaro.koskinen@nsn.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=michaelc@cs.wisc.edu \
    /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