On Fri, 10 Jul 2026 21:26:12 +0000, David Matlack <[email protected]> wrote: > diff --git a/drivers/pci/liveupdate.c b/drivers/pci/liveupdate.c > index a95bfe5eff77..74a11e520f0d 100644 > --- a/drivers/pci/liveupdate.c > +++ b/drivers/pci/liveupdate.c > @@ -816,6 +820,20 @@ int pci_liveupdate_enable_acs(struct pci_dev *dev) > return 0; > } > > +int pci_liveupdate_configure_ari(struct pci_dev *dev) > +{ > + u16 val; > + > + guard(rwsem_read)(&pci_liveupdate.rwsem); > + > + if (!dev->liveupdate.incoming) > + return -EINVAL; > + > + pcie_capability_read_word(dev, PCI_EXP_DEVCTL2, &val); > + dev->ari_enabled = !!(val & PCI_EXP_DEVCTL2_ARI);
unsigned int ari_enabled:1; Sashiko asks a valid question, what protects other bits in this word during modication? At a very list a comment is needed. -- Pasha Tatashin <[email protected]>
