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: Thu, 16 Nov 2006 08:53:12 -0500 [thread overview]
Message-ID: <455C6D48.8040501@rtr.ca> (raw)
In-Reply-To: <1163658952.3416.13.camel@w100>
[-- Attachment #1: Type: text/plain, Size: 878 bytes --]
Alberto Alonso wrote:
> Sorry for the long delay, I've been called on too
> many issues at work this week.
>
> Anyway, the patch basically made the drives not usable.
Mmm.. Okay, thanks for helping track this down.
It appears that this got broken when the ATA_TFLAG_POLLING
got introduced into libata, replacing previous checks of ATA_NIEN.
Or maybe even before that. Not many of us have qstor cards!
Speaking of which, I'll dig my own qstor card out of mothballs soon,
and work out a proper fix for it soon-ish.
In the meanwhile, could you take a clean kernel, and apply the first
attached patch (qstor_spurious_1.patch), and see if it fixes things.
If not, then you can instead apply the second patch (qstor_spurious_kludge.patch)
and your problems should disappear. But I cannot actually push that rubbish
upstream, so a "proper" fix will have to come later.
Cheers
[-- Attachment #2: qstor_spurious_1.patch --]
[-- Type: text/x-patch, Size: 458 bytes --]
--- linux/drivers/scsi/sata_qstor.c.orig 2006-09-19 23:42:06.000000000 -0400
+++ linux/drivers/scsi/sata_qstor.c 2006-11-16 08:46:43.000000000 -0500
@@ -399,6 +399,7 @@
if (ap && !(ap->flags & ATA_FLAG_DISABLED)) {
struct ata_queued_cmd *qc;
struct qs_port_priv *pp = ap->private_data;
+ ata_check_status(ap); /* kill spurious ints */
if (!pp || pp->state != qs_state_pkt)
continue;
qc = ata_qc_from_tag(ap, ap->active_tag);
[-- Attachment #3: qstor_spurious_kludge.patch --]
[-- Type: text/x-patch, Size: 934 bytes --]
--- linux/drivers/scsi/sata_qstor.c.orig 2006-09-19 23:42:06.000000000 -0400
+++ linux/drivers/scsi/sata_qstor.c 2006-11-16 08:49:57.000000000 -0500
@@ -423,7 +423,7 @@
static inline unsigned int qs_intr_mmio(struct ata_host_set *host_set)
{
- unsigned int handled = 0, port_no;
+ unsigned int handled = 1, port_no;
for (port_no = 0; port_no < host_set->n_ports; ++port_no) {
struct ata_port *ap;
@@ -432,13 +432,13 @@
!(ap->flags & ATA_FLAG_DISABLED)) {
struct ata_queued_cmd *qc;
struct qs_port_priv *pp = ap->private_data;
+ u8 status = ata_check_status(ap);
if (!pp || pp->state != qs_state_mmio)
continue;
qc = ata_qc_from_tag(ap, ap->active_tag);
if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) {
/* check main status, clearing INTRQ */
- 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-16 13:53 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
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 [this message]
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=455C6D48.8040501@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.