Add PCIE_LINK_STATUS_CHECK_MS macro for link status check delay.
Signed-off-by: Hans Zhang <18255117159@163.com>
---
drivers/pci/pci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 86449f2d627b..b57d8e4c3a48 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -77,6 +77,8 @@ struct pci_pme_device {
*/
#define PCIE_RESET_READY_POLL_MS 60000 /* msec */
+#define PCIE_LINK_STATUS_CHECK_MS 1
+
static void pci_dev_d3_sleep(struct pci_dev *dev)
{
unsigned int delay_ms = max(dev->d3hot_delay, pci_pm_d3hot_delay);
@@ -4632,7 +4634,7 @@ static int pcie_wait_for_link_status(struct pci_dev *pdev,
pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnksta);
if ((lnksta & lnksta_mask) == lnksta_match)
return 0;
- msleep(1);
+ msleep(PCIE_LINK_STATUS_CHECK_MS);
} while (time_before(jiffies, end_jiffies));
return -ETIMEDOUT;
--
2.34.1
On Sun, Nov 02, 2025 at 12:05:36AM +0800, Hans Zhang wrote:
> Add PCIE_LINK_STATUS_CHECK_MS macro for link status check delay.
>
> Signed-off-by: Hans Zhang <18255117159@163.com>
> ---
> drivers/pci/pci.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 86449f2d627b..b57d8e4c3a48 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -77,6 +77,8 @@ struct pci_pme_device {
> */
> #define PCIE_RESET_READY_POLL_MS 60000 /* msec */
>
> +#define PCIE_LINK_STATUS_CHECK_MS 1
> +
> static void pci_dev_d3_sleep(struct pci_dev *dev)
> {
> unsigned int delay_ms = max(dev->d3hot_delay, pci_pm_d3hot_delay);
> @@ -4632,7 +4634,7 @@ static int pcie_wait_for_link_status(struct pci_dev *pdev,
> pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnksta);
> if ((lnksta & lnksta_mask) == lnksta_match)
> return 0;
> - msleep(1);
> + msleep(PCIE_LINK_STATUS_CHECK_MS);
Doesn't seem worth it to me.
> } while (time_before(jiffies, end_jiffies));
>
> return -ETIMEDOUT;
> --
> 2.34.1
>
On 2025/11/3 23:39, Bjorn Helgaas wrote:
> On Sun, Nov 02, 2025 at 12:05:36AM +0800, Hans Zhang wrote:
>> Add PCIE_LINK_STATUS_CHECK_MS macro for link status check delay.
>>
>> Signed-off-by: Hans Zhang <18255117159@163.com>
>> ---
>> drivers/pci/pci.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
>> index 86449f2d627b..b57d8e4c3a48 100644
>> --- a/drivers/pci/pci.c
>> +++ b/drivers/pci/pci.c
>> @@ -77,6 +77,8 @@ struct pci_pme_device {
>> */
>> #define PCIE_RESET_READY_POLL_MS 60000 /* msec */
>>
>> +#define PCIE_LINK_STATUS_CHECK_MS 1
>> +
>> static void pci_dev_d3_sleep(struct pci_dev *dev)
>> {
>> unsigned int delay_ms = max(dev->d3hot_delay, pci_pm_d3hot_delay);
>> @@ -4632,7 +4634,7 @@ static int pcie_wait_for_link_status(struct pci_dev *pdev,
>> pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnksta);
>> if ((lnksta & lnksta_mask) == lnksta_match)
>> return 0;
>> - msleep(1);
>> + msleep(PCIE_LINK_STATUS_CHECK_MS);
>
> Doesn't seem worth it to me.
Hi Bjorn,
Please drop this patch.
Best regards,
Hans
>
>> } while (time_before(jiffies, end_jiffies));
>>
>> return -ETIMEDOUT;
>> --
>> 2.34.1
>>
© 2016 - 2026 Red Hat, Inc.