Messages in this thread | | | Subject | Re: pcie-uniphier: race condition in masking/unmasking interrupts | From | Kunihiko Hayashi <> | Date | Thu, 19 Aug 2021 19:01:39 +0900 |
| |
Hi Pali,
On 2021/08/18 20:38, Pali Rohár wrote: > Hello! > > Marc pointed during review of pci-aardvark patches one issue which I see > that is available also in the current pcie-uniphier.c driver. > > When masking or unmasking interrupts there is read-modify-write sequence > for PCL_RCV_INTX_MASK_SHIFT register without any locking: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/controller/dwc/pcie-uniphier.c?h=v5.13#n171 > > So when trying to mask/unmask two interrupts at the same time there is > race condition as updating that PCL_RCV_INTX_MASK_SHIFT register is not > atomic. > > Could you look at it? Thank you for pointing out. I'll update the mask/unmask/ack operations to avoid race condition.
Thank you,
--- Best Regards Kunihiko Hayashi
| |