Bug 51881

Summary: HighPoint RocketRAID 2720 fail to detect some SATA hdd
Product: IO/Storage Reporter: Kouichi ONO (kou1.ono)
Component: SCSIAssignee: linux-scsi (linux-scsi)
Status: CLOSED CODE_FIX    
Severity: normal CC: alan, bohdan, florian, kalin, shane.huang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.7 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg (BAD)
dmesg (OK)
libata: replace sata_settings with devslp_timing

Description Kouichi ONO 2012-12-21 14:28:20 UTC
After upgrading from 3.6.9 to 3.7, HighPoint RocketRAID 2720 (mvsas)  failed to detect some hdd.
7 SATA hdds are connected, but only 2 or 3 hdds are detected.
I bisected and found bad commit:

65fe1f0f66a57380229a4ced844188103135f37b is the first bad commit
commit 65fe1f0f66a57380229a4ced844188103135f37b
Author: Shane Huang <shane.huang@amd.com>
Date:   Fri Sep 7 22:40:01 2012 +0800

    ahci: implement aggressive SATA device sleep support
    
    Device Sleep is a feature as described in AHCI 1.3.1 Technical Proposal.
    This feature enables an HBA and SATA storage device to enter the DevSleep
    interface state, enabling lower power SATA-based systems.
    
    Aggressive Device Sleep enables the HBA to assert the DEVSLP signal as
    soon as there are no commands outstanding to the device and the port
    specific Device Sleep idle timer has expired. This enables autonomous
    entry into the DevSleep interface state without waiting for software
    in power sensitive systems.
    
    This patch enables Aggressive Device Sleep only if both host controller
    and device support it.
    
    Tested on AMD reference board together with Device Sleep supported device
    sample.
    
    Signed-off-by: Shane Huang <shane.huang@amd.com>
    Reviewed-by: Aaron Lu <aaron.lwe@gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

:040000 040000 9441b703760224de98a80546977129214d9528f8 436fe4f42392a48b4564f09cad69dafbe82be2c1 M	drivers
:040000 040000 3177c859173da3d15f3c2fb287364f063aa420d9 a39a26dc3f6c0b21433688420a820b121a921cec M	include


Revert 65fe1f0f66a from 3.7.1, all hdds are detected.
Comment 1 Kouichi ONO 2012-12-21 14:29:30 UTC
Created attachment 89531 [details]
dmesg (BAD)
Comment 2 Kouichi ONO 2012-12-21 14:30:04 UTC
Created attachment 89541 [details]
dmesg (OK)
Comment 3 jack_wang 2012-12-24 04:53:42 UTC
Cc the author of the bad commit.

Jack



[Bug 51881] New: HighPoint RocketRAID 2720 fail to detect some SATA hdd

https://bugzilla.kernel.org/show_bug.cgi?id=51881

           Summary: HighPoint RocketRAID 2720 fail to detect some SATA hdd
           Product: IO/Storage
           Version: 2.5
    Kernel Version: 3.7
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: SCSI
        AssignedTo: linux-scsi@vger.kernel.org
        ReportedBy: kou1.ono@gmail.com
        Regression: Yes


After upgrading from 3.6.9 to 3.7, HighPoint RocketRAID 2720 (mvsas)  failed to detect some hdd.
7 SATA hdds are connected, but only 2 or 3 hdds are detected.
I bisected and found bad commit:

65fe1f0f66a57380229a4ced844188103135f37b is the first bad commit commit 65fe1f0f66a57380229a4ced844188103135f37b
Author: Shane Huang <shane.huang@amd.com>
Date:   Fri Sep 7 22:40:01 2012 +0800

    ahci: implement aggressive SATA device sleep support

    Device Sleep is a feature as described in AHCI 1.3.1 Technical Proposal.
    This feature enables an HBA and SATA storage device to enter the DevSleep
    interface state, enabling lower power SATA-based systems.

    Aggressive Device Sleep enables the HBA to assert the DEVSLP signal as
    soon as there are no commands outstanding to the device and the port
    specific Device Sleep idle timer has expired. This enables autonomous
    entry into the DevSleep interface state without waiting for software
    in power sensitive systems.

    This patch enables Aggressive Device Sleep only if both host controller
    and device support it.

    Tested on AMD reference board together with Device Sleep supported device
    sample.

    Signed-off-by: Shane Huang <shane.huang@amd.com>
    Reviewed-by: Aaron Lu <aaron.lwe@gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

:040000 040000 9441b703760224de98a80546977129214d9528f8
436fe4f42392a48b4564f09cad69dafbe82be2c1 M    drivers
:040000 040000 3177c859173da3d15f3c2fb287364f063aa420d9
a39a26dc3f6c0b21433688420a820b121a921cec M    include


Revert 65fe1f0f66a from 3.7.1, all hdds are detected.

--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: ------- You are the assignee for the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at  http://vger.kernel.org/majordomo-info.html
Comment 4 Shane Huang 2012-12-24 07:22:12 UTC
Created attachment 89551 [details]
libata: replace sata_settings with devslp_timing
Comment 5 Shane Huang 2012-12-24 07:24:46 UTC
Can you help to try whether the attached patch make something different or not? Thanks.
Comment 6 Kouichi ONO 2012-12-25 12:50:53 UTC
3.7.1 with attached patch works fine, all hdds found.
Thanks!
Comment 7 Bohdan Popovych 2012-12-29 00:06:30 UTC
I can confirm patch works for me with
- HighPoint RocketRAID 2720
and 
- LSI Logic / Symbios Logic SAS2008 (Falcon)) using mpt2sas
as well on 3.7.1.
Thanks!
Comment 8 Kalin KOZHUHAROV 2013-01-03 15:57:37 UTC
Happy New Year!
Glad I found this bug before starting to dissect, it fixed my OCZ-REVODRIVE3 X2!

I have 960GB PCIe OCZ-REVODRIVE3 X2 that also uses mvsas and was working fine with 3.6.9, but started failing with 3.7.1 (internally it is 4x SandForce 2281) with only two of the four drives being detected. This was in dmesg:

$ grep "\] ata[91]" 3.7.1-pf-r6-a.dmesg 
[    0.807680] ata1: DUMMY
[    9.006504] ata9.00: ATA-8: OCZ-REVODRIVE3 X2, 2.22, max UDMA/133
[    9.006510] ata9.00: 468862128 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    9.006996] ata9.00: failed to get Identify Device Data, Emask 0x1
[    9.014874] ata9.00: failed to get Identify Device Data, Emask 0x1
[    9.014883] ata9.00: configured for UDMA/133
[    9.190157] ata10.00: both IDENTIFYs aborted, assuming NODEV
[    9.363328] ata11.00: ATA-8: OCZ-REVODRIVE3 X2, 2.22, max UDMA/133
[    9.363334] ata11.00: 468862128 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    9.363860] ata11.00: failed to get Identify Device Data, Emask 0x1
[    9.373757] ata11.00: failed to get Identify Device Data, Emask 0x1
[    9.373765] ata11.00: configured for UDMA/133
[    9.546921] ata12.00: both IDENTIFYs aborted, assuming NODEV

I applied the above patch (id=89551) to 3.7.1 and it started working again. I hope it can be merged in 3.8.

Let me know if any more testing is needed.
Comment 9 Shane Huang 2013-01-17 09:36:23 UTC
The patch in comment #4 was accepted by Jeff in his repository. Thanks.
Comment 10 Florian Mickler 2013-01-26 10:53:01 UTC
A patch referencing this bug report has been merged in Linux v3.8-rc5:

commit 803739d25c2343da6d2f95eebdcbc08bf67097d4
Author: Shane Huang <shane.huang@amd.com>
Date:   Mon Dec 17 23:18:59 2012 +0800

    [libata] replace sata_settings with devslp_timing
Comment 11 Kouichi ONO 2013-01-28 15:34:10 UTC
I confirm this problem was fixed in 3.7.5

Thanks!