diff mbox series

[v2,4/4] s390/pci: clean up left over special treatment for function zero

Message ID 20230306151014.60913-5-schnelle@linux.ibm.com
State New
Headers show
Series PCI: s390: Fix user-after-free and clean up | expand

Commit Message

Niklas Schnelle March 6, 2023, 3:10 p.m. UTC
Prior to commit 960ac3626487 ("s390/pci: allow zPCI zbus without
a function zero") enabling and scanning a PCI function had to
potentially be postponed until the function with devfn zero on that bus
was plugged. While the commit removed the waiting itself extra code to
scan all functions on the PCI bus once function zero appeared was
missed. Remove that code and the outdated comments about waiting for
function zero.

Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
 arch/s390/pci/pci.c | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)

Comments

Matthew Rosato March 9, 2023, 6:37 p.m. UTC | #1
On 3/6/23 10:10 AM, Niklas Schnelle wrote:
> Prior to commit 960ac3626487 ("s390/pci: allow zPCI zbus without
> a function zero") enabling and scanning a PCI function had to
> potentially be postponed until the function with devfn zero on that bus
> was plugged. While the commit removed the waiting itself extra code to
> scan all functions on the PCI bus once function zero appeared was
> missed. Remove that code and the outdated comments about waiting for
> function zero.
> 
> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
> ---
>  arch/s390/pci/pci.c | 23 +++--------------------
>  1 file changed, 3 insertions(+), 20 deletions(-)
> 
> diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
> index e16afacc8fd1..f5709b5dae7a 100644
> --- a/arch/s390/pci/pci.c
> +++ b/arch/s390/pci/pci.c
> @@ -874,32 +874,15 @@ bool zpci_is_device_configured(struct zpci_dev *zdev)
>   * @fh: The general function handle supplied by the platform
>   *
>   * Given a device in the configuration state Configured, enables, scans and
> - * adds it to the common code PCI subsystem if possible. If the PCI device is
> - * parked because we can not yet create a PCI bus because we have not seen
> - * function 0, it is ignored but will be scanned once function 0 appears.
> - * If any failure occurs, the zpci_dev is left disabled.
> + * adds it to the common code PCI subsystem if possible.If any failure occurs,

Nit: missing space after period here

Also, while you're at this, commit 960ac3626487 removed the function 0 check from zpci_bus_scan_bus but the comment block for zpci_bus_scan_bus is still outdated.  Please fix also with this patch.

With that:

Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
diff mbox series

Patch

diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index e16afacc8fd1..f5709b5dae7a 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -874,32 +874,15 @@  bool zpci_is_device_configured(struct zpci_dev *zdev)
  * @fh: The general function handle supplied by the platform
  *
  * Given a device in the configuration state Configured, enables, scans and
- * adds it to the common code PCI subsystem if possible. If the PCI device is
- * parked because we can not yet create a PCI bus because we have not seen
- * function 0, it is ignored but will be scanned once function 0 appears.
- * If any failure occurs, the zpci_dev is left disabled.
+ * adds it to the common code PCI subsystem if possible.If any failure occurs,
+ * the zpci_dev is left disabled.
  *
  * Return: 0 on success, or an error code otherwise
  */
 int zpci_scan_configured_device(struct zpci_dev *zdev, u32 fh)
 {
-	int rc;
-
 	zpci_update_fh(zdev, fh);
-	/* the PCI function will be scanned once function 0 appears */
-	if (!zdev->zbus->bus)
-		return 0;
-
-	/* For function 0 on a multi-function bus scan whole bus as we might
-	 * have to pick up existing functions waiting for it to allow creating
-	 * the PCI bus
-	 */
-	if (zdev->devfn == 0 && zdev->zbus->multifunction)
-		rc = zpci_bus_scan_bus(zdev->zbus);
-	else
-		rc = zpci_bus_scan_device(zdev);
-
-	return rc;
+	return zpci_bus_scan_device(zdev);
 }
 
 /**