diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index d96693a8c807..2247156044ee 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -78,6 +78,7 @@ static DEFINE_SPINLOCK(time_sync_lock); #define POWER_ON_RETRY_DELAY_MS 200 #define LINK_TRAINING_RETRY_MAX_TIMES 3 +#define LINK_TRAINING_RETRY_DELAY_MS 500 #define HANG_DATA_LENGTH 384 #define HST_HANG_DATA_OFFSET ((3 * 1024 * 1024) - HANG_DATA_LENGTH) @@ -777,6 +778,8 @@ retry: link_up ? "resume" : "suspend", ret); if (link_up && retry++ < LINK_TRAINING_RETRY_MAX_TIMES) { cnss_pr_dbg("Retry PCI link training #%d\n", retry); + if (pci_priv->pci_link_down_ind) + msleep(LINK_TRAINING_RETRY_DELAY_MS * retry); goto retry; } }