[PATCH 1/5] powerpc/eeh_cache: Don't use pci_dn when inserting new ranges

Sam Bobroff sbobroff at linux.ibm.com
Tue Jul 16 13:53:34 AEST 2019


On Mon, Jul 15, 2019 at 06:56:08PM +1000, Oliver O'Halloran wrote:
> At the point where we start inserting ranges into the EEH address cache the
> binding between pci_dev and eeh_dev has already been set up. Instead of
> consulting the pci_dn tree we can retrieve the eeh_dev directly using
> pci_dev_to_eeh_dev().
> 
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>

In fact the binding between pci_dev and eeh_dev is set up right before
the calls to eeh_addr_cache_insert_dev() (see eeh_addr_cache_build() and
eeh_add_device_tree_late()) so this looks clearly correct to me.

A few simple tests of EEH recovery still succeed as well.

Reviewed-by: Sam Bobroff <sbobroff at linux.ibm.com>
Tested-by: Sam Bobroff <sbobroff at linux.ibm.com>

> ---
>  arch/powerpc/kernel/eeh_cache.c | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/eeh_cache.c b/arch/powerpc/kernel/eeh_cache.c
> index 3204723..908ba69 100644
> --- a/arch/powerpc/kernel/eeh_cache.c
> +++ b/arch/powerpc/kernel/eeh_cache.c
> @@ -156,18 +156,10 @@ eeh_addr_cache_insert(struct pci_dev *dev, resource_size_t alo,
>  
>  static void __eeh_addr_cache_insert_dev(struct pci_dev *dev)
>  {
> -	struct pci_dn *pdn;
>  	struct eeh_dev *edev;
>  	int i;
>  
> -	pdn = pci_get_pdn_by_devfn(dev->bus, dev->devfn);
> -	if (!pdn) {
> -		pr_warn("PCI: no pci dn found for dev=%s\n",
> -			pci_name(dev));
> -		return;
> -	}
> -
> -	edev = pdn_to_eeh_dev(pdn);
> +	edev = pci_dev_to_eeh_dev(dev);
>  	if (!edev) {
>  		pr_warn("PCI: no EEH dev found for %s\n",
>  			pci_name(dev));
> -- 
> 2.9.5
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20190716/aa11c9e8/attachment.sig>


More information about the Linuxppc-dev mailing list