[RFC 02/11] powerpc/powernv/ioda: Protect PE list

Andrew Donnellan ajd at linux.ibm.com
Tue Jul 2 16:21:23 AEST 2019


On 19/6/19 11:28 pm, Frederic Barrat wrote:
> Protect the PHB's list of PE. Probably not needed as long as it was
> populated during PHB creation, but it feels right and will become
> required once we can add/remove opencapi devices on hotplug.
> 
> Signed-off-by: Frederic Barrat <fbarrat at linux.ibm.com>

Reviewed-by: Andrew Donnellan <ajd at linux.ibm.com>

> ---
>   arch/powerpc/platforms/powernv/pci-ioda.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
> index 3082912e2600..2c063b05bb64 100644
> --- a/arch/powerpc/platforms/powernv/pci-ioda.c
> +++ b/arch/powerpc/platforms/powernv/pci-ioda.c
> @@ -1078,8 +1078,9 @@ static struct pnv_ioda_pe *pnv_ioda_setup_dev_PE(struct pci_dev *dev)
>   	}
>   
>   	/* Put PE to the list */
> +	mutex_lock(&phb->ioda.pe_list_mutex);
>   	list_add_tail(&pe->list, &phb->ioda.pe_list);
> -
> +	mutex_unlock(&phb->ioda.pe_list_mutex);
>   	return pe;
>   }
>   
> @@ -3501,7 +3502,10 @@ static void pnv_ioda_release_pe(struct pnv_ioda_pe *pe)
>   	struct pnv_phb *phb = pe->phb;
>   	struct pnv_ioda_pe *slave, *tmp;
>   
> +	mutex_lock(&phb->ioda.pe_list_mutex);
>   	list_del(&pe->list);
> +	mutex_unlock(&phb->ioda.pe_list_mutex);
> +
>   	switch (phb->type) {
>   	case PNV_PHB_IODA1:
>   		pnv_pci_ioda1_release_pe_dma(pe);
> 

-- 
Andrew Donnellan              OzLabs, ADL Canberra
ajd at linux.ibm.com             IBM Australia Limited



More information about the Linuxppc-dev mailing list