lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 27 Sep 2020 07:23:59 +0100 From: Christoph Hellwig <hch@...radead.org> To: Ethan Zhao <haifeng.zhao@...el.com> Cc: bhelgaas@...gle.com, oohall@...il.com, ruscur@...sell.cc, lukas@...ner.de, andriy.shevchenko@...ux.intel.com, stuart.w.hayes@...il.com, mr.nuke.me@...il.com, mika.westerberg@...ux.intel.com, linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org, pei.p.jia@...el.com, ashok.raj@...ux.intel.com, sathyanarayanan.kuppuswamy@...el.com Subject: Re: [PATCH 1/5 V2] PCI: define a function to check and wait till port finish DPC handling > +#ifdef CONFIG_PCIE_DPC > +static inline bool pci_wait_port_outdpc(struct pci_dev *pdev) > +{ > + u16 cap = pdev->dpc_cap, status; > + u16 loop = 0; > + > + if (!cap) { > + pci_WARN_ONCE(pdev, !cap, "No DPC capability initiated\n"); > + return false; > + } > + pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); > + pci_dbg(pdev, "DPC status %x, cap %x\n", status, cap); > + while (status & PCI_EXP_DPC_STATUS_TRIGGER && loop < 100) { > + msleep(10); > + loop++; > + pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); > + } > + if (!(status & PCI_EXP_DPC_STATUS_TRIGGER)) { > + pci_dbg(pdev, "Out of DPC %x, cost %d ms\n", status, loop*10); > + return true; > + } > + pci_dbg(pdev, "Timeout to wait port out of DPC status\n"); > + return false; > +} I don't think that there is any good reason to have this as an inline function.
Powered by blists - more mailing lists