From: Mark Lord <lkml@rtr.ca>
To: Alberto Alonso <alberto@ggsys.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: qstor driver -> irq 193: nobody cared
Date: Mon, 13 Nov 2006 09:29:06 -0500 [thread overview]
Message-ID: <45588132.9090200@rtr.ca> (raw)
In-Reply-To: <1163363479.3423.8.camel@w100>
[-- Attachment #1: Type: text/plain, Size: 1226 bytes --]
Alberto Alonso wrote:
> OK, after adding the printk line I can start seeing
> results.
>
> I guess it has been close to 10 on quite a few
> occasions.
..
> # grep qstor /var/log/messages
> Nov 12 07:00:53 w100 kernel: sata_qstor: spurious=0
> Nov 12 07:00:53 w100 kernel: sata_qstor: spurious=1
> Nov 12 07:00:53 w100 kernel: sata_qstor: spurious=0
> Nov 12 07:00:56 w100 kernel: sata_qstor: spurious=1
> Nov 12 07:00:56 w100 kernel: sata_qstor: spurious=2
..
> On Sun, 2006-11-12 at 00:09 -0500, Mark Lord wrote:
>> Alberto Alonso wrote:
>>> The saga continues. It happened again this morning even with the
>>> patch:
>> ..
>>>> Mmm.. We could apply a bit of fuzzy tolerance for the odd glitch.
>>>> Try this patch (attached) and report back.
>> Did you add the printk() to the patch, as suggested?
..
Excellent!
So, either we have a very noisy bit of hardware in there,
or something is wrong with sata_qstor.c.
The device has two methods for dealing with commands.
Regular R/W uses the driver's host queue "packet" interface,
and all other commands pass through the legacy MMIO mechanism.
I'm betting on some bug/interaction with the latter.
Try this patch and see what happens, on top of the printk patch.
Thanks
[-- Attachment #2: qstor_check_status.patch --]
[-- Type: text/x-patch, Size: 703 bytes --]
--- linux/drivers/scsi/sata_qstor.c.printk 2006-11-06 09:50:02.000000000 -0500
+++ linux/drivers/scsi/sata_qstor.c 2006-11-13 09:25:49.000000000 -0500
@@ -431,6 +431,7 @@
if (ap &&
!(ap->flags & ATA_FLAG_DISABLED)) {
struct ata_queued_cmd *qc;
+ u8 status = ata_check_status(ap);
struct qs_port_priv *pp = ap->private_data;
if (!pp || pp->state != qs_state_mmio)
continue;
@@ -438,7 +439,7 @@
if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) {
/* check main status, clearing INTRQ */
- u8 status = ata_check_status(ap);
+ //u8 status = ata_check_status(ap);
if ((status & ATA_BUSY))
continue;
DPRINTK("ata%u: protocol %d (dev_stat 0x%X)\n",
next prev parent reply other threads:[~2006-11-13 14:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-03 18:02 qstor driver -> irq 193: nobody cared Alberto Alonso
2006-11-03 19:00 ` Sergey Vlasov
2006-11-03 20:22 ` Alberto Alonso
2006-11-03 20:52 ` Sergey Vlasov
2006-11-03 23:21 ` Alberto Alonso
2006-11-04 18:39 ` Mark Lord
2006-11-06 4:04 ` Alberto Alonso
2006-11-06 14:51 ` Mark Lord
2006-11-10 17:36 ` Alberto Alonso
2006-11-12 5:09 ` Mark Lord
2006-11-12 5:17 ` Alberto Alonso
2006-11-12 20:31 ` Alberto Alonso
2006-11-13 14:29 ` Mark Lord [this message]
2006-11-14 4:50 ` Alberto Alonso
2006-11-14 16:46 ` Mark Lord
2006-11-14 18:17 ` Alberto Alonso
2006-11-14 18:23 ` Mark Lord
2006-11-16 6:35 ` Alberto Alonso
2006-11-16 13:53 ` Mark Lord
2006-11-17 21:42 ` Alberto Alonso
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=45588132.9090200@rtr.ca \
--to=lkml@rtr.ca \
--cc=alberto@ggsys.net \
--cc=linux-kernel@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.