public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: Mikael Pettersson <mikpe@it.uu.se>,
	htejun@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: 2.6.22-rc4-mm1
Date: Wed, 6 Jun 2007 10:56:50 -0700	[thread overview]
Message-ID: <20070606105650.bebf1c95.akpm@linux-foundation.org> (raw)
In-Reply-To: <4666D3F8.4010002@gmail.com>

On Wed, 06 Jun 2007 17:34:16 +0200 Jiri Slaby <jirislaby@gmail.com> wrote:

> Mikael Pettersson napsal(a):
> > On Wed, 06 Jun 2007 15:04:00 +0200, Jiri Slaby wrote:
> >> Andrew Morton napsal(a):
> >>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc4/2.6.22-rc4-mm1/
> >> It freezes during bootup while searching for sata drives on sata_promise. There
> >> were 2 issues with sata_promise in -rc4 IIRC, one was fixed, the latter remains
> >> unresolved. Or, should be this solved too, Mikael, Tejun and is this yet
> >> eanother problem? (In this case I'll post dmesg and co.)
> > 
> > I know of only one sata_promise-specific issue in 2.6.22-rc4.
> > Tejun's "sata_promise: use TF interface for polling NODATA commands"
> > patch posted today fixes it.
> 
> It's in that -mm, so I think, this seems to be another problem.

No, it wasn't in 2.6.22-rc4-mm1.

Here it is - please test?


From: Tejun Heo <htejun@gmail.com>

sata_promise uses two different command modes - packet and TF.  Packet mode
is intelligent low-overhead mode while TF is the same old taskfile
interface.  As with other advanced interface (ahci/sil24),
ATA_TFLAG_POLLING has no effect in packet mode.  However, PIO commands are
issued using TF interface in polling mode, so pdc_interrupt() considers
interrupts spurious if ATA_TFLAG_POLLING is set.

This is broken for polling NODATA commands because command is issued using
packet mode but the interrupt handler ignores it due to ATA_TFLAG_POLLING. 
Fix pdc_qc_issue_prot() such that ATA/ATAPI NODATA commands are issued
using TF interface if ATA_TFLAG_POLLING is set.

This patch fixes detection failure introduced by polling SETXFERMODE.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/ata/sata_promise.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff -puN drivers/ata/sata_promise.c~sata_promise-use-tf-interface-for-polling-nodata-commands drivers/ata/sata_promise.c
--- a/drivers/ata/sata_promise.c~sata_promise-use-tf-interface-for-polling-nodata-commands
+++ a/drivers/ata/sata_promise.c
@@ -784,9 +784,12 @@ static unsigned int pdc_qc_issue_prot(st
 		if (qc->dev->flags & ATA_DFLAG_CDB_INTR)
 			break;
 		/*FALLTHROUGH*/
+	case ATA_PROT_NODATA:
+		if (qc->tf.flags & ATA_TFLAG_POLLING)
+			break;
+		/*FALLTHROUGH*/
 	case ATA_PROT_ATAPI_DMA:
 	case ATA_PROT_DMA:
-	case ATA_PROT_NODATA:
 		pdc_packet_start(qc);
 		return 0;
 
@@ -800,7 +803,7 @@ static unsigned int pdc_qc_issue_prot(st
 static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
 {
 	WARN_ON (tf->protocol == ATA_PROT_DMA ||
-		 tf->protocol == ATA_PROT_NODATA);
+		 tf->protocol == ATA_PROT_ATAPI_DMA);
 	ata_tf_load(ap, tf);
 }
 
@@ -808,7 +811,7 @@ static void pdc_tf_load_mmio(struct ata_
 static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
 {
 	WARN_ON (tf->protocol == ATA_PROT_DMA ||
-		 tf->protocol == ATA_PROT_NODATA);
+		 tf->protocol == ATA_PROT_ATAPI_DMA);
 	ata_exec_command(ap, tf);
 }
 
_


  reply	other threads:[~2007-06-06 17:57 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-06 14:21 2.6.22-rc4-mm1 Mikael Pettersson
2007-06-06 15:34 ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-06 17:56   ` Andrew Morton [this message]
2007-06-06 18:24     ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-07  6:44       ` 2.6.22-rc4-mm1 Tejun Heo
2007-06-07  7:01         ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-07  7:09           ` 2.6.22-rc4-mm1 Tejun Heo
2007-06-07  7:15             ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-07  7:22               ` 2.6.22-rc4-mm1 Tejun Heo
2007-06-07 15:54                 ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-07 16:01                   ` 2.6.22-rc4-mm1 Greg KH
2007-06-07 17:02                     ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-07 20:09                       ` 2.6.22-rc4-mm1 Greg KH
     [not found] <fa.463099pz3wyAW1RRKsHFuX299RE@ifi.uio.no>
     [not found] ` <fa.zIhbKpmFY9tR8ro0OTwpTvD79Xk@ifi.uio.no>
2007-06-06 14:35   ` 2.6.22-rc4-mm1 Robert Hancock
2007-06-06 18:18     ` 2.6.22-rc4-mm1 Andy Whitcroft
2007-06-06 18:27       ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 19:06         ` 2.6.22-rc4-mm1 Andy Whitcroft
  -- strict thread matches above, loose matches on Subject: below --
2007-06-06  9:07 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 11:39 ` 2.6.22-rc4-mm1 Gabriel C
2007-06-06 16:51   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07  0:01     ` 2.6.22-rc4-mm1 Robert Hancock
2007-06-06 12:43 ` 2.6.22-rc4-mm1 Cedric Le Goater
2007-06-06 15:18   ` 2.6.22-rc4-mm1 Michal Piotrowski
2007-06-06 16:01     ` 2.6.22-rc4-mm1 Cedric Le Goater
2007-06-06 16:26       ` 2.6.22-rc4-mm1 Mel Gorman
2007-06-06 16:35         ` 2.6.22-rc4-mm1 William Lee Irwin III
2007-06-06 16:47           ` 2.6.22-rc4-mm1 Mel Gorman
2007-06-06 16:53             ` 2.6.22-rc4-mm1 Cedric Le Goater
2007-06-06 17:20               ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 17:06           ` 2.6.22-rc4-mm1 Peter Zijlstra
2007-06-06 19:27             ` 2.6.22-rc4-mm1 Peter Zijlstra
2007-06-06 13:04 ` 2.6.22-rc4-mm1 Jiri Slaby
2007-06-06 13:06 ` 2.6.22-rc4-mm1 Cedric Le Goater
2007-06-06 13:48   ` 2.6.22-rc4-mm1 Andy Whitcroft
2007-06-06 17:23     ` 2.6.22-rc4-mm1 Andrew Morton
     [not found] ` <6bffcb0e0706060356y3628e26m49fdce4d6fb8cac9@mail.gmail.com>
2007-06-06 14:34   ` 2.6.22-rc4-mm1 Michal Piotrowski
2007-06-06 17:14     ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 16:19 ` 2.6.22-rc4-mm1 WANG Cong
2007-06-06 18:09   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07  2:26     ` 2.6.22-rc4-mm1 WANG Cong
2007-06-07  5:59       ` 2.6.22-rc4-mm1 Matt Mackall
2007-06-07  6:51         ` 2.6.22-rc4-mm1 WANG Cong
2007-06-07 14:04           ` 2.6.22-rc4-mm1 Matt Mackall
2007-06-07 15:40             ` 2.6.22-rc4-mm1 WANG Cong
2007-06-07 15:59               ` 2.6.22-rc4-mm1 Matt Mackall
2007-06-07 16:39                 ` 2.6.22-rc4-mm1 WANG Cong
2007-06-07 16:59                   ` 2.6.22-rc4-mm1 Matt Mackall
2007-06-08  4:43                     ` 2.6.22-rc4-mm1 WANG Cong
2007-06-06 16:30 ` 2.6.22-rc4-mm1 William Lee Irwin III
2007-06-06 18:13   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 19:43     ` 2.6.22-rc4-mm1 William Lee Irwin III
2007-06-07  0:32       ` 2.6.22-rc4-mm1 Paul Menage
2007-06-07  1:09         ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07  6:13           ` 2.6.22-rc4-mm1 William Lee Irwin III
2007-06-06 18:23   ` 2.6.22-rc4-mm1 Andy Whitcroft
2007-06-06 16:42 ` 2.6.22-rc4-mm1 Cedric Le Goater
2007-06-06 18:48 ` 2.6.22-rc4-mm1 Michal Piotrowski
2007-06-06 20:16   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 22:14   ` 2.6.22-rc4-mm1 Kay Sievers
2007-06-07  8:40     ` 2.6.22-rc4-mm1 Michal Piotrowski
2007-06-07  8:48       ` 2.6.22-rc4-mm1 Kay Sievers
2007-06-07  9:41         ` 2.6.22-rc4-mm1 Michal Piotrowski
2007-06-07 15:04           ` 2.6.22-rc4-mm1 Kay Sievers
2007-06-07 15:25             ` 2.6.22-rc4-mm1 Peter Jones
2007-06-07 15:43               ` 2.6.22-rc4-mm1 Greg KH
2007-06-07 15:52                 ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07 15:59                   ` 2.6.22-rc4-mm1 Greg KH
2007-06-07 16:06                     ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07 16:15                       ` 2.6.22-rc4-mm1 Greg KH
2007-06-07 18:48                         ` 2.6.22-rc4-mm1 Bill Nottingham
2007-06-07 20:01                           ` 2.6.22-rc4-mm1 Greg KH
2007-06-07 21:00                             ` 2.6.22-rc4-mm1 Peter Jones
2007-06-07 23:09                               ` 2.6.22-rc4-mm1 Greg KH
2007-06-07 22:32                             ` 2.6.22-rc4-mm1 Alan Cox
2007-06-07 23:09                               ` 2.6.22-rc4-mm1 Greg KH
2007-06-08 15:33                                 ` 2.6.22-rc4-mm1 Valdis.Kletnieks
2007-06-08 15:50                                   ` 2.6.22-rc4-mm1 Greg KH
2007-06-08 16:11                                     ` 2.6.22-rc4-mm1 Greg KH
2007-06-08 16:10                                   ` 2.6.22-rc4-mm1 Kay Sievers
2007-06-08  7:31                         ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-08 15:51                           ` 2.6.22-rc4-mm1 Greg KH
2007-06-08 16:36                             ` 2.6.22-rc4-mm1 Kay Sievers
2007-06-08 17:21                               ` 2.6.22-rc4-mm1 Peter Jones
2007-06-06 19:32 ` 2.6.22-rc4-mm1 Mariusz Kozlowski
2007-06-06 20:24   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-06 20:52     ` 2.6.22-rc4-mm1 Fabio Comolli
2007-06-06 21:28     ` 2.6.22-rc4-mm1 Herbert Xu
2007-06-06 23:42       ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07  6:54         ` 2.6.22-rc4-mm1 Jan Engelhardt
2007-06-07  7:01           ` 2.6.22-rc4-mm1 Herbert Xu
2007-06-07  7:12             ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-11  5:01               ` 2.6.22-rc4-mm1 Dan Williams
2007-06-11  6:26                 ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-11  6:51                 ` 2.6.22-rc4-mm1 Paul Mundt
2007-06-07 19:27           ` 2.6.22-rc4-mm1 Adrian Bunk
2007-06-06 20:58 ` 2.6.22-rc4-mm1 Grant Wilson
2007-06-06 23:37   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-07 14:53     ` 2.6.22-rc4-mm1 Alan Stern
2007-06-07 12:47 ` 2.6.22-rc4-mm1 KAMEZAWA Hiroyuki
2007-06-07 15:34   ` 2.6.22-rc4-mm1 Andrew Morton
2007-06-08  0:31     ` 2.6.22-rc4-mm1 KAMEZAWA Hiroyuki

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=20070606105650.bebf1c95.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=htejun@gmail.com \
    --cc=jirislaby@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikpe@it.uu.se \
    /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