linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adam Radford <aradford@3WARE.com>
To: "'Luben Tuikov'" <luben@splentec.com>
Cc: linux-scsi <linux-scsi@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] 3w-xxxx: additional ata->sense codes, avoid driver lo ckup
Date: Wed, 13 Nov 2002 14:32:35 -0800	[thread overview]
Message-ID: <A1964EDB64C8094DA12D2271C04B812672C86A@tabby> (raw)

While there may need to be a fix so you don't loop on status=c1,flags=0x11,
you should know that:

command_packet->status is not a scsi or ATA register value at all.

(0xC1 == BSY|DRDY|ERR).
^^^^^^^^^^^^^^^^^^^^^^^^ this is not true.

-Adam

-----Original Message-----
From: Luben Tuikov [mailto:luben@splentec.com]
Sent: Wednesday, November 13, 2002 2:24 PM
To: Adam Radford
Cc: linux-scsi; linux-kernel
Subject: Re: [PATCH] 3w-xxxx: additional ata->sense codes, avoid driver
lockup


Adam Radford wrote:
> 
> Luben,
> 
> Thanks for submitting the patch, however, it appears part of it is wrong:
> 
> -               if ((command->status == 0xc7) || (command->status ==
0xcb))
> {
> +               if (command->status & 0xC1) {
> 
> What makes you think you should not check for c7 or cb, and only check c1?

Hi Adam,

I don't really ``only'' check for 0xc1, it just shows which bits I'm
interested in (0xc1 is a mask anded with the status).

In fact, I'm only interested in the error bit (ERR), but saw what you did
and decided to stay as close to 0xc7 and 0xcb, both of whom are in the 
subset of status & 0xC1, (0xC1 == BSY|DRDY|ERR). So in effect 0xC7 and 0xCB
still match.

Anyway, if you are throwing away

	if (command->status & 0xC1)

then you might as well throw away flags 0x11 from tw_sense_table[]
and then we're back at ``square 1'' -- this is exactly when the
driver gets into an inf. loop and eventually locks up the machine
and the serial console prints ... 
3w-xxxx: scsiX: Command failed:	status = 0xc1, flags = 0x11, unit #Y.
... ad infinitum.

I was just trying to avoid this deadlock.

-- 
Luben

             reply	other threads:[~2002-11-13 22:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-13 22:32 Adam Radford [this message]
2002-11-13 23:53 ` [PATCH] 3w-xxxx: additional ata->sense codes, avoid driver lockup Luben Tuikov
  -- strict thread matches above, loose matches on Subject: below --
2002-11-13 21:57 [PATCH] 3w-xxxx: additional ata->sense codes, avoid driver lo ckup Adam Radford

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=A1964EDB64C8094DA12D2271C04B812672C86A@tabby \
    --to=aradford@3ware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=luben@splentec.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;
as well as URLs for NNTP newsgroup(s).