• Matthias Schiffer's avatar
    ata: libata-sata: increase PMP SRST timeout to 10s · 753a4d53
    Matthias Schiffer authored
    On certain SATA controllers, softreset fails after wakeup from S2RAM with
    the message "softreset failed (1st FIS failed)", sometimes resulting in
    drives not being detected again. With the increased timeout, this issue
    is avoided. Instead, "softreset failed (device not ready)" is now
    logged 1-2 times; this later failure seems to cause fewer problems
    however, and the drives are detected reliably once they've spun up and
    the probe is retried.
    
    The issue was observed with the primary SATA controller of the QNAP
    TS-453B, which is an "Intel Corporation Celeron/Pentium Silver Processor
    SATA Controller [8086:31e3] (rev 06)" integrated in the Celeron J4125 CPU,
    and the following drives:
    
    - Seagate IronWolf ST12000VN0008
    - Seagate IronWolf ST8000NE0004
    
    The SATA controller seems to be more relevant to this issue than the
    drives, as the same drives are always detected reliably on the secondary
    SATA controller on the same board (an ASMedia 106x) without any "softreset
    failed" errors even without the increased timeout.
    
    Fixes: e7d3ef13 ("libata: change drive ready wait after hard reset to 5s")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarMatthias Schiffer <mschiffer@universe-factory.net>
    Signed-off-by: default avatarDamien Le Moal <dlemoal@kernel.org>
    753a4d53
libata.h 67.5 KB