linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Peter Favrholdt <linux-ide@how.dk>
Cc: linux-ide@vger.kernel.org
Subject: Re: FYI: BUG in SATA Promise 300 TX4 (2.6.24 - 2.6.27-3) w/Linux
Date: Wed, 19 Nov 2008 10:55:00 +0900	[thread overview]
Message-ID: <492371F4.7020400@kernel.org> (raw)
In-Reply-To: <49230361.2010001@how.dk>

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

Peter Favrholdt wrote:
> Hi Tejun & list
> 
> Tejun Heo wrote:
>> Peter Favrholdt wrote:
>>> I tried removing sata_promise the nice way using modprobe:
>>>
>>> # modprobe -r -f sata_promise
>>> FATAL: Module sata_promise is in use.
>>>
>>> then the not-so-nice way using rmmod -f and inserting it again. It
>>> doesn't work. Here are the relevant parts from dmesg (removing and
>>> inserting):
>>
>> Oh... you first need to wait for the kernel to be done with the devices.
>>  ie. unmount all filesystems living on those && wait till EH finishes.
> 
> I didn't have any filesystems mounted but learned that the 4 disks
> participate in a md raid5 set. To be sure I tried everything again from
> the beginning (reboot) without enabling md on the four drives. Here are
> the results:
> 
> 1. started the four dd processes which ran to completion without any
> errors. Started them again and this time sda failed as usual.
> 
> 2. modprobe -r sata_promise - no warnings/errors: removed successfully
> 
> 3. modprobe sata_promise - only three drives show up
> 
> 4. modprobe -r sata_promise - no warnings/errors: removed successfully
> 
> 5. modprobe sata_promise - more channels complain - no drives are found
> 
> dmesg:
> 
> [21626.490086] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x1380000
> action 0x6 frozen
> [21626.490096] ata1: SError: { 10B8B Dispar BadCRC TrStaTrns }
> [21626.490105] ata1.00: cmd 25/00:00:00:1f:e6/00:02:01:00:00/e0 tag 0
> dma 262144 in
> [21626.490107]          res 40/00:28:00:00:00/00:00:00:00:00/40 Emask
> 0x4 (timeout)
> [21626.490110] ata1.00: status: { DRDY }
> [21626.490162] ata1: hard resetting link
> [21631.881055] ata1: link is slow to respond, please be patient (ready=-19)
> [21636.500030] ata1: COMRESET failed (errno=-16)
> [21636.500068] ata1: hard resetting link

COMRESETs are failing with EBUSY while ata_sff_check_ready() is
returning ENODEV.  Hmmm... Does the attached patch change anything?

-- 
tejun

[-- Attachment #2: sata_promise-hrst-debug.patch --]
[-- Type: text/x-patch, Size: 707 bytes --]

diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index ba9a257..a06af2c 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -709,8 +709,13 @@ static int pdc_pata_softreset(struct ata_link *link, unsigned int *class,
 static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class,
 			      unsigned long deadline)
 {
+	const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context);
+	bool online;
+	int rc;
+
 	pdc_reset_port(link->ap);
-	return sata_sff_hardreset(link, class, deadline);
+	rc = sata_link_hardreset(link, timing, deadline, &online, NULL);
+	return online ? -EAGAIN : rc;
 }
 
 static void pdc_error_handler(struct ata_port *ap)

  reply	other threads:[~2008-11-19  1:55 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-13 21:21 FYI: BUG in SATA Promise 300 TX4 (2.6.24 - 2.6.27-3) w/Linux Linda Walsh
2008-11-16  6:04 ` Tejun Heo
2008-11-16 11:08   ` Mikael Pettersson
2008-11-16 14:24     ` Tejun Heo
2008-11-16 16:48     ` Brad Campbell
2008-11-17  2:01       ` Tejun Heo
2008-11-16 17:34     ` Peter Favrholdt
2008-11-16 17:39       ` Peter Favrholdt
2008-11-17  2:01         ` Tejun Heo
2008-11-17 11:47           ` Peter Favrholdt
2008-11-18  1:11             ` Tejun Heo
2008-11-18 18:03               ` Peter Favrholdt
2008-11-19  1:55                 ` Tejun Heo [this message]
2008-11-20 10:22                   ` Peter Favrholdt
2008-11-20 11:10                     ` Mikael Pettersson
2008-11-21  4:42                       ` Tejun Heo
2008-11-21  4:56                       ` [PATCH #upstream-fixes] sata_promise: request follow-up SRST Tejun Heo
2008-11-22 16:30                         ` Mikael Pettersson
2008-11-23 22:38                         ` Peter Favrholdt
2008-11-25 13:00                         ` Peter Favrholdt
2008-11-26  2:46                           ` Tejun Heo
2008-11-26  8:12                             ` Peter Favrholdt
2008-11-26 23:07                               ` Peter Favrholdt
2008-11-25 17:27                         ` Jeff Garzik
2008-11-25 21:17                           ` Mikael Pettersson
2008-11-29 21:50                           ` Mikael Pettersson
2008-11-30 15:06                             ` Peter Favrholdt
2009-02-10  4:30                             ` Jeff Garzik
2009-02-10 17:28                               ` Mikael Pettersson
2009-02-10 21:13                                 ` Jeff Garzik
2009-02-23 12:17                                   ` [PATCH #upstream-fixes] sata_promise: request follow-up SRST - it works Peter Favrholdt

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=492371F4.7020400@kernel.org \
    --to=tj@kernel.org \
    --cc=linux-ide@how.dk \
    --cc=linux-ide@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).