All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Haverkamp <markh@linux-foundation.org>
To: Eric Moore <eric.moore@lsi.com>
Cc: James.Bottomley@SteelEye.com, linux-scsi@vger.kernel.org
Subject: RE: [PATCH] scsi spi transport: SCSI domain validation after reset
Date: Mon, 12 Feb 2007 08:14:45 -0800	[thread overview]
Message-ID: <1171296886.23143.6.camel@markh3.pdx.osdl.net> (raw)
In-Reply-To: <20070207235140.GA20920@lsil.com>

On Wed, 2007-02-07 at 16:51 -0700, Eric Moore wrote:
> > -----Original Message-----
> > From: James Bottomley [mailto:James.Bottomley@SteelEye.com] 
> > Sent: Monday, February 05, 2007 2:50 PM
> > To: Mark Haverkamp
> > Cc: linux-scsi; Moore, Eric
> > Subject: Re: [PATCH] scsi spi transport: SCSI domain 
> > validation after reset
> > 
> > On Mon, 2007-02-05 at 12:49 -0800, Mark Haverkamp wrote:
> > > James,
> > > 
> > > Some months ago, I had problems with a mis-behaving disk that failed
> > > domain validation on a fusion card resulting in an infinite loop of
> > > domain validation.  At the time Eric proposed a patch to the mptspi
> > > driver to reload devices with parameters previously 
> > negotiated when a
> > > reset occurred.  You indicated that a more generic solution 
> > should be
> > > done.
> > > 
> > > This patch updates spi_dv_device_internal() to check if domain
> > > validation has already been performed on a device and just sets it
> > > previously negotiated parameters.  This solved the "infinite domain
> > > validation" loop for me when a reset is performed as a 
> > result of command
> > > timeout with the mis-behaving device.
> > 
> > Er,but this code basically disabled domain revalidation after a reset,
> > doesn't it?  If we could do it that way, we could simply take 
> > the calls
> > to spi_dv_device() out of the fusion driver and instead set the
> > parameters up in its place without having to modify the 
> > transport class.
> > 
> 
> Here is a patch that does exactly that.
> 
> After host reset, the device are programmed to default asyn narrow nego.
> We need to reprogram the parameter back to previous values.  If the host
> reset is called as a result of spi_dv_device() commands timing out, its
> possible to get into an infinite loop of dv to host reset.  This will
> prevent that case, as we merely program old values.  If host reset is
> called outside context of domain validation, then we can  call
> spi_dv_device. Please apply.
> 
> This applies over scsi-misc tree.
> 
> Signed-off-by: Eric Moore <Eric.Moore@lsi.com>

[ ... ]

This patch fixed my looping DV problem.

Mark.

-- 
Mark Haverkamp <markh@linux-foundation.org>


  reply	other threads:[~2007-02-12 16:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-07 23:51 [PATCH] scsi spi transport: SCSI domain validation after reset Eric Moore
2007-02-12 16:14 ` Mark Haverkamp [this message]
2007-02-12 21:45   ` James Bottomley
2007-02-12 23:00     ` Mark Haverkamp
  -- strict thread matches above, loose matches on Subject: below --
2007-02-05 20:49 Mark Haverkamp
2007-02-05 21:50 ` James Bottomley
2007-02-05 22:01   ` Mark Haverkamp

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=1171296886.23143.6.camel@markh3.pdx.osdl.net \
    --to=markh@linux-foundation.org \
    --cc=James.Bottomley@SteelEye.com \
    --cc=eric.moore@lsi.com \
    --cc=linux-scsi@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.