Commit 80f1ff83 authored by Frederic Barrat's avatar Frederic Barrat Committed by Michael Ellerman

powerpc/powernv/ioda: Protect PE list

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.
Reviewed-by: default avatarAndrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: default avatarFrederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191121134918.7155-3-fbarrat@linux.ibm.com
parent 05dd7da7
...@@ -1087,8 +1087,9 @@ static struct pnv_ioda_pe *pnv_ioda_setup_dev_PE(struct pci_dev *dev) ...@@ -1087,8 +1087,9 @@ static struct pnv_ioda_pe *pnv_ioda_setup_dev_PE(struct pci_dev *dev)
} }
/* Put PE to the list */ /* Put PE to the list */
mutex_lock(&phb->ioda.pe_list_mutex);
list_add_tail(&pe->list, &phb->ioda.pe_list); list_add_tail(&pe->list, &phb->ioda.pe_list);
mutex_unlock(&phb->ioda.pe_list_mutex);
return pe; return pe;
} }
...@@ -3528,7 +3529,10 @@ static void pnv_ioda_release_pe(struct pnv_ioda_pe *pe) ...@@ -3528,7 +3529,10 @@ static void pnv_ioda_release_pe(struct pnv_ioda_pe *pe)
struct pnv_phb *phb = pe->phb; struct pnv_phb *phb = pe->phb;
struct pnv_ioda_pe *slave, *tmp; struct pnv_ioda_pe *slave, *tmp;
mutex_lock(&phb->ioda.pe_list_mutex);
list_del(&pe->list); list_del(&pe->list);
mutex_unlock(&phb->ioda.pe_list_mutex);
switch (phb->type) { switch (phb->type) {
case PNV_PHB_IODA1: case PNV_PHB_IODA1:
pnv_pci_ioda1_release_pe_dma(pe); pnv_pci_ioda1_release_pe_dma(pe);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment