* [PATCH] libata: fix suspend/resume for ATA SEMB devices
@ 2009-04-26 14:38 Borislav Petkov
2009-04-26 22:26 ` Tejun Heo
2009-05-11 18:34 ` Jeff Garzik
0 siblings, 2 replies; 5+ messages in thread
From: Borislav Petkov @ 2009-04-26 14:38 UTC (permalink / raw)
To: Tejun Heo; +Cc: Jeff Garzik, linux-ide, linux-kernel
From: Borislav Petkov <petkovbb@gmail.com>
Date: Sun, 26 Apr 2009 16:33:34 +0200
Subject: [PATCH] libata: fix suspend/resume for ATA SEMB devices
79b42babbac2a5a522b8e269fb2811b6e1063030 fixed identifying ATA devices
reporting 3c/c3 signature which belongs to SEMB devices now. However,
suspending the machine with such device (WDC WD2500AAJS-6 01.0) fails
with the following:
hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hda: UDMA/100 mode selected
hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hdb: UDMA/66 mode selected
sd 1:0:0:0: [sda] Starting disk
ata5: SATA link down (SStatus 0 SControl 300)
ata1: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata2: softreset failed (device not ready)
ata2: failed due to HW bug, retry pmp=0
ata4: softreset failed (device not ready)
ata4: failed due to HW bug, retry pmp=0
ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: class mismatch 1 != 7
ata2.00: revalidation failed (errno=-19)
ata2: limiting SATA link speed to 1.5 Gbps
ata4.00: configured for UDMA/133
ata2: softreset failed (device not ready)
ata2: failed due to HW bug, retry pmp=0
ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata2.00: class mismatch 1 != 7
ata2.00: revalidation failed (errno=-19)
ata2.00: disabled
sd 1:0:0:0: rejecting I/O to offline device
sd 1:0:0:0: [sda] START_STOP FAILED
sd 1:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
PM: Device 1:0:0:0 failed to thaw: error 65536
sd 3:0:0:0: [sdb] Starting disk
due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
ATA_DEV_SEMB device class to the check.
CC: Tejun Heo <htejun@gmail.com>
CC: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
---
drivers/ata/libata-core.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 17c5d48..c924230 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4091,7 +4091,9 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
/* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */
if (ata_class_enabled(new_class) &&
- new_class != ATA_DEV_ATA && new_class != ATA_DEV_ATAPI) {
+ new_class != ATA_DEV_ATA &&
+ new_class != ATA_DEV_ATAPI &&
+ new_class != ATA_DEV_SEMB) {
ata_dev_printk(dev, KERN_INFO, "class mismatch %u != %u\n",
dev->class, new_class);
rc = -ENODEV;
--
1.6.2.4
--
Regards/Gruss,
Boris.
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] libata: fix suspend/resume for ATA SEMB devices
2009-04-26 14:38 [PATCH] libata: fix suspend/resume for ATA SEMB devices Borislav Petkov
@ 2009-04-26 22:26 ` Tejun Heo
2009-05-09 15:13 ` Borislav Petkov
2009-05-11 18:34 ` Jeff Garzik
1 sibling, 1 reply; 5+ messages in thread
From: Tejun Heo @ 2009-04-26 22:26 UTC (permalink / raw)
To: petkovbb, Tejun Heo, Jeff Garzik, linux-ide, linux-kernel
Borislav Petkov wrote:
> due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
> ATA_DEV_SEMB device class to the check.
>
> CC: Tejun Heo <htejun@gmail.com>
> CC: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] libata: fix suspend/resume for ATA SEMB devices
2009-04-26 22:26 ` Tejun Heo
@ 2009-05-09 15:13 ` Borislav Petkov
2009-05-09 15:48 ` Tejun Heo
0 siblings, 1 reply; 5+ messages in thread
From: Borislav Petkov @ 2009-05-09 15:13 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Tejun Heo, linux-ide, linux-kernel
On Mon, Apr 27, 2009 at 07:26:49AM +0900, Tejun Heo wrote:
> Borislav Petkov wrote:
> > due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
> > ATA_DEV_SEMB device class to the check.
> >
> > CC: Tejun Heo <htejun@gmail.com>
> > CC: Jeff Garzik <jeff@garzik.org>
> > Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
>
> Acked-by: Tejun Heo <tj@kernel.org>
Hi Jeff,
any chance this can make it into 2.6.30?
--
Regards/Gruss,
Boris.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] libata: fix suspend/resume for ATA SEMB devices
2009-05-09 15:13 ` Borislav Petkov
@ 2009-05-09 15:48 ` Tejun Heo
0 siblings, 0 replies; 5+ messages in thread
From: Tejun Heo @ 2009-05-09 15:48 UTC (permalink / raw)
To: petkovbb, Jeff Garzik, Tejun Heo, linux-ide, linux-kernel
Borislav Petkov wrote:
> On Mon, Apr 27, 2009 at 07:26:49AM +0900, Tejun Heo wrote:
>> Borislav Petkov wrote:
>>> due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
>>> ATA_DEV_SEMB device class to the check.
>>>
>>> CC: Tejun Heo <htejun@gmail.com>
>>> CC: Jeff Garzik <jeff@garzik.org>
>>> Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
>> Acked-by: Tejun Heo <tj@kernel.org>
>
> Hi Jeff,
>
> any chance this can make it into 2.6.30?
>
Jeff, this one should go into 2.6.30. Without it, revalidation always
fails for ATA devices w/ SEMB signature which means any error
condition or suspend/resume will end up detaching and reattaching the
device.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] libata: fix suspend/resume for ATA SEMB devices
2009-04-26 14:38 [PATCH] libata: fix suspend/resume for ATA SEMB devices Borislav Petkov
2009-04-26 22:26 ` Tejun Heo
@ 2009-05-11 18:34 ` Jeff Garzik
1 sibling, 0 replies; 5+ messages in thread
From: Jeff Garzik @ 2009-05-11 18:34 UTC (permalink / raw)
To: petkovbb, Tejun Heo, Jeff Garzik, linux-ide, linux-kernel
Borislav Petkov wrote:
> From: Borislav Petkov <petkovbb@gmail.com>
> Date: Sun, 26 Apr 2009 16:33:34 +0200
> Subject: [PATCH] libata: fix suspend/resume for ATA SEMB devices
>
> 79b42babbac2a5a522b8e269fb2811b6e1063030 fixed identifying ATA devices
> reporting 3c/c3 signature which belongs to SEMB devices now. However,
> suspending the machine with such device (WDC WD2500AAJS-6 01.0) fails
> with the following:
>
> hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
> hda: UDMA/100 mode selected
> hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4
> hdb: UDMA/66 mode selected
> sd 1:0:0:0: [sda] Starting disk
> ata5: SATA link down (SStatus 0 SControl 300)
> ata1: SATA link down (SStatus 0 SControl 300)
> ata3: SATA link down (SStatus 0 SControl 300)
> ata6: SATA link down (SStatus 0 SControl 300)
> ata2: softreset failed (device not ready)
> ata2: failed due to HW bug, retry pmp=0
> ata4: softreset failed (device not ready)
> ata4: failed due to HW bug, retry pmp=0
> ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> ata2.00: class mismatch 1 != 7
> ata2.00: revalidation failed (errno=-19)
> ata2: limiting SATA link speed to 1.5 Gbps
> ata4.00: configured for UDMA/133
> ata2: softreset failed (device not ready)
> ata2: failed due to HW bug, retry pmp=0
> ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> ata2.00: class mismatch 1 != 7
> ata2.00: revalidation failed (errno=-19)
> ata2.00: disabled
> sd 1:0:0:0: rejecting I/O to offline device
> sd 1:0:0:0: [sda] START_STOP FAILED
> sd 1:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
> PM: Device 1:0:0:0 failed to thaw: error 65536
> sd 3:0:0:0: [sdb] Starting disk
>
> due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
> ATA_DEV_SEMB device class to the check.
>
> CC: Tejun Heo <htejun@gmail.com>
> CC: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
> ---
> drivers/ata/libata-core.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
applied
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-05-11 18:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-26 14:38 [PATCH] libata: fix suspend/resume for ATA SEMB devices Borislav Petkov
2009-04-26 22:26 ` Tejun Heo
2009-05-09 15:13 ` Borislav Petkov
2009-05-09 15:48 ` Tejun Heo
2009-05-11 18:34 ` Jeff Garzik
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).