linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: "Cengiz Günay" <cgunay@emory.edu>
Cc: Robert Hancock <hancockrwd@gmail.com>,
	linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: sata_nv times out for BD-ROM iHOS104-08
Date: Thu, 18 Feb 2010 10:50:38 +0900	[thread overview]
Message-ID: <4B7C9CEE.4080902@kernel.org> (raw)
In-Reply-To: <d2d378041002170814l1da6b022p4902128c604fc84b@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 811 bytes --]

On 02/18/2010 01:14 AM, Cengiz Günay wrote:
> 2010/2/1 Tejun Heo <tj@kernel.org>:
> 
>> Can you please attach full dmesg w/ the patch applied w/o any kernel
>> parameter?  I'm curious where the hda warnings are coming from.  Is
>> generic IDE driver loaded?
> 
> The dmesg snippet I attached last time was w/o any kernel parameters.
> This time I'm attaching the full dmesg output. hda is my other DVD-RW
> drive, I'm not sure what the warnings mean. ide_core is loaded, but
> not the ide-generic or ide-pci-generic modules, although they are
> available. Would you like me to force them to load?

No, I was concerned because there were a few cases where two drivers
were attached to the same controller but I don't think that's possible
here.

Does the attached patch make any difference?

Thanks.

-- 
tejun

[-- Attachment #2: drain-from-atapi_pio_bytes.patch --]
[-- Type: text/x-patch, Size: 1167 bytes --]

diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 730ef3c..d189b48 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -1070,6 +1070,7 @@ static void atapi_pio_bytes(struct ata_queued_cmd *qc)
 	struct ata_eh_info *ehi = &dev->link->eh_info;
 	unsigned int ireason, bc_lo, bc_hi, bytes;
 	int i_write, do_write = (qc->tf.flags & ATA_TFLAG_WRITE) ? 1 : 0;
+	u8 stat;
 
 	/* Abuse qc->result_tf for temp storage of intermediate TF
 	 * here to save some kernel stack usage.
@@ -1099,6 +1100,21 @@ static void atapi_pio_bytes(struct ata_queued_cmd *qc)
 
 	if (unlikely(__atapi_pio_bytes(qc, bytes)))
 		goto err_out;
+
+	/* this really should be done only after the final transfer is complete */
+	stat = ata_sff_altstatus(ap);
+	if (stat & ATA_DRQ) {
+		int count;
+
+		ata_port_printk(ap, KERN_INFO, "stat=%x after atapi_pio_bytes\n", stat);
+
+		for (count = 0; (ap->ops->sff_check_status(ap) & ATA_DRQ)
+						&& count < 65536; count += 2)
+			ioread16(ap->ioaddr.data_addr);
+		if (count)
+			ata_port_printk(ap, KERN_DEBUG,
+					"drained %d bytes to clear DRQ.\n", count);
+	}
 	ata_sff_sync(ap); /* flush */
 
 	return;

  reply	other threads:[~2010-02-18  1:42 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-22 16:07 sata_nv times out for BD-ROM iHOS104-08 Cengiz Gunay
2009-12-23  7:38 ` Tejun Heo
     [not found]   ` <d2d378040912232302u4b550dap687fcadced237935@mail.gmail.com>
2009-12-24  7:25     ` Tejun Heo
2010-01-16 21:34       ` Cengiz Günay
2010-01-17 15:28         ` Ozan Çağlayan
2010-01-19  9:05           ` Tejun Heo
2010-01-19  9:34             ` Ozan Çağlayan
2010-01-20  2:13         ` Tejun Heo
2010-01-20  2:59           ` Robert Hancock
2010-01-22 14:11             ` Cengiz Günay
2010-01-23  3:45               ` Tejun Heo
2010-01-23 21:39                 ` Cengiz Günay
     [not found]                   ` <4B67A149.10406@kernel.org>
2010-02-17 16:14                     ` Cengiz Günay
2010-02-18  1:50                       ` Tejun Heo [this message]
2010-02-20 19:11                         ` Cengiz Günay
2010-02-21  1:01                           ` Tejun Heo
2010-02-21 21:28                             ` Cengiz Günay
2010-02-23  2:38                               ` Tejun Heo
2010-02-28 17:24                                 ` Cengiz Günay
2010-03-02 11:48                                   ` Tejun Heo
2010-03-08 19:17                                     ` Cengiz Günay
2010-03-08 23:46                                       ` Robert Hancock
2010-03-09  1:21                                       ` Tejun Heo
2010-03-09  5:18                                         ` Cengiz Günay
2010-05-25 19:34                                           ` Tejun Heo
  -- strict thread matches above, loose matches on Subject: below --
2010-01-17  4:54 Gregory Moyer
2010-01-21  3:15 Gregory Moyer
2010-06-03 17:40 Gregory Moyer

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=4B7C9CEE.4080902@kernel.org \
    --to=tj@kernel.org \
    --cc=cgunay@emory.edu \
    --cc=hancockrwd@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --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 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).