Re: [PATCH v2] pci: check saved state before restore

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

 



On Saturday 08 August 2009, Alek Du wrote:
> Here is the updated one...
> 
> 
> 
> From 972c7f371604f837a70cc5e9948749f423cf64eb Mon Sep 17 00:00:00 2001
> From: Alek Du <alek.du@xxxxxxxxx>
> Date: Wed, 5 Aug 2009 15:25:26 +0800
> Subject: [PATCH] pci: check saved state before restore
> 
> Without the check, the config space may be filled with zeros. Though
> the driver should try to avoid call restoring before saving, but the
> pci layer also should check this.
> 
> Also removed the existing check in pci_restore_standard_config.
> 
> Signed-off-by: Alek Du <alek.du@xxxxxxxxx>

Acked-by: Rafael J. Wysocki <rjw@xxxxxxx>

> ---
>  drivers/pci/pci-driver.c |    2 +-
>  drivers/pci/pci.c        |    2 ++
>  2 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
> index d76c4c8..f99bc7f 100644
> --- a/drivers/pci/pci-driver.c
> +++ b/drivers/pci/pci-driver.c
> @@ -508,7 +508,7 @@ static int pci_restore_standard_config(struct pci_dev *pci_dev)
>  			return error;
>  	}
>  
> -	return pci_dev->state_saved ? pci_restore_state(pci_dev) : 0;
> +	return pci_restore_state(pci_dev);
>  }
>  
>  static void pci_pm_default_resume_noirq(struct pci_dev *pci_dev)
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index dbd0f94..7b70312 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -846,6 +846,8 @@ pci_restore_state(struct pci_dev *dev)
>  	int i;
>  	u32 val;
>  
> +	if (!dev->state_saved)
> +		return 0;
>  	/* PCI Express register must be restored first */
>  	pci_restore_pcie_state(dev);
>  
--
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