All of lore.kernel.org
 help / color / mirror / Atom feed
From: malahal@us.ibm.com
To: Seokmann Ju <seokmann.ju@qlogic.com>
Cc: linux-scsi@vger.kernel.org, Linux Driver <Linux-Driver@qlogic.com>
Subject: Re: [PATCH] qla2xxx: fix RSCN handling on big-endian systems
Date: Thu, 22 Feb 2007 11:08:32 -0800	[thread overview]
Message-ID: <20070222190832.GA30677@us.ibm.com> (raw)
In-Reply-To: <A6970E9A290F3F4682E1EAD0EA14F32BAE5EFC@AVEXCH2.qlogic.org>

Seokmann Ju [seokmann.ju@qlogic.com] wrote:
> On Wednesday, February 21, 2007 6:54 PM, Malahal Naineni wrote:
> > I have JBOD in FL-port and if I unplug the cable or disable 
> > the switch port, the qla2xxx driver doesn't fail the I/O 
> > soon. The remote port status is 'online' all the time. The 
> > I/O's usually timeout after the usual scsi timeout.
> Yes, that is because qla2xxx doesn't want to trigger unnecessary error
> handling mechanism, which is expensive.
> As long as State Change recovered within SCSI timeout period, driver
> won't let mid-layer know about it.

I removed the cable and didn't put it back at all for more than 1 hour.
There is no recovery here.  When I disable an F-port, after few seconds
the remote port state is set to something other than 'online'. Why not
same behaviour for remote ports on FL-port. With my patch, the behaviour
is same whether the remote port is attached to an FL-port or an F-port.

> > Based on 
> > the existing structure, al_pa is at the lowest addressed 
> > byte, so the b24 field's interpretation as an integer is 
> > *incorrect* on big endinan systems. You should be able to print the
> > b24 as an integer and see what you get is incorrect on big 
> > endian systems.
> I agree on your assessment. However, the patch won't fix the problem as
> the problem itself is regardless byte ordering.
> A patch which includes your evaluation will be submitted.
> Thank you for findings.

Well, my patch fixed the problem! qla2x00_device_resync() fails to call
qla2x00_mark_device_lost() for RSCN's affecting area or domain because
the following evaluates to true always due to b24 field being incorrect:

		(fcport->d_id.b24 & mask) != d_id.b24

Thanks, Malahal.

  reply	other threads:[~2007-02-22 19:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-19 18:18 [PATCH] qla2xxx: fix RSCN handling on big-endian systems malahal
2007-02-21 23:11 ` Seokmann Ju
2007-02-22  2:53   ` malahal
2007-02-22 14:04     ` Seokmann Ju
2007-02-22 19:08       ` malahal [this message]
2007-02-22 19:43         ` Seokmann Ju
2007-02-23 22:51 ` Seokmann Ju

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=20070222190832.GA30677@us.ibm.com \
    --to=malahal@us.ibm.com \
    --cc=Linux-Driver@qlogic.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=seokmann.ju@qlogic.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 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.