The delay is only needed for a few buggy chipsets (PHYs(?)). As 200 ms is quite a lot in today times, announce the change of the default in Linux 5.19, and call for tests and reports. --- drivers/ata/libata-sata.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c index 29a815e2b7248..026ffcfaeaf26 100644 --- a/drivers/ata/libata-sata.c +++ b/drivers/ata/libata-sata.c @@ -318,9 +318,13 @@ int sata_link_resume(struct ata_link *link, const unsigned long *params, * debouncing. Duration can be configured with module * parameter debounce_delay_ms. */ - if (!(link->flags & ATA_LFLAG_NO_DEBOUNCE_DELAY)) + if (!(link->flags & ATA_LFLAG_NO_DEBOUNCE_DELAY)) { ata_msleep(link->ap, (libata_debounce_delay_ms < 0) ? 200 : libata_debounce_delay_ms); + if (libata_debounce_delay_ms < 0) + /* negative values are default */ + ata_link_warn(link, "Due to historical reasons a 200 ms delay is applied in sata_link_resume(). Most controllers do not need that, so the default will change to 0 ms in Linux 5.19. Please test with lower values using libata.debounce_delay_ms and report the results <linux-ide@xxxxxxxxxxxxxxx>.\n"); + } /* is SControl restored correctly? */ if ((rc = sata_scr_read(link, SCR_CONTROL, &scontrol))) -- 2.30.2