Re: [PATCH] PCI: Increase VPD access timeout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 29, 2016 at 12:00:40PM -0600, Matthew R. Ochs wrote:
> The PCI core uses a fixed 50ms timeout when waiting for VPD accesses to
> complete. When an access does not complete within this period, a warning
> is logged and an error returned to the caller.
> 
> While this default timeout is valid for most hardware, some devices can
> experience longer access delays under certain circumstances. For example,
> one of the IBM CXL Flash devices can take up to ~120ms in a worst-case
> scenario. These types of devices can benefit from an extended timeout.
> 
> To support devices with a longer access delay, increase the timeout in
> pci_vpd_wait() to 125ms. The PCI specification is silent with respect to
> VPD delays, therefore there is no concern for violating a threshold.
> 
> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx>

Applied to pci/vpd for v4.11, with Tested-by Uma and Reviewed-by Gavin,
thanks!

> ---
>  drivers/pci/access.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/access.c b/drivers/pci/access.c
> index d11cdbb..61b5a6b 100644
> --- a/drivers/pci/access.c
> +++ b/drivers/pci/access.c
> @@ -355,7 +355,7 @@ static size_t pci_vpd_size(struct pci_dev *dev, size_t old_size)
>  static int pci_vpd_wait(struct pci_dev *dev)
>  {
>  	struct pci_vpd *vpd = dev->vpd;
> -	unsigned long timeout = jiffies + msecs_to_jiffies(50);
> +	unsigned long timeout = jiffies + msecs_to_jiffies(125);
>  	unsigned long max_sleep = 16;
>  	u16 status;
>  	int ret;
> -- 
> 2.1.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux