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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1415322858-4318-1-git-send-email-dhdang@apm.com>
Date:	Thu,  6 Nov 2014 17:14:18 -0800
From:	Duc Dang <dhdang@....com>
To:	Bjorn Helgaas <bhelgaas@...gle.com>, Arnd Bergmann <arnd@...db.de>,
	Liviu Dudau <liviu.dudau@....com>
Cc:	linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
	patches@....com, jcm@...hat.com, Duc Dang <dhdang@....com>,
	Tanmay Inamdar <tinamdar@....com>
Subject: [PATCH 1/1] PCI: X-Gene: assign resource to bus before adding new devices

X-Gene PCIE driver currently depends on Liviu Dudau's patch
https://lkml.org/lkml/2014/9/30/166 in order to assign resource
to root bus and endpoint devices. The patch was dropped because
it will break x86, powerpc and probably others. So X-Gene PCIE
host functionality is currently broken.

This patch adds function calls to create and scan root_bus as well
as assign unassigned bus resource (similar to Liviu Dudau's patch
above). This will help resolve the dependency to Liviu Dudau's patch
and make X-Gene PCIE work in latest open-source kernel.

Signed-off-by: Duc Dang <dhdang@....com>
Signed-off-by: Tanmay Inamdar <tinamdar@....com>
---
 drivers/pci/host/pci-xgene.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
index 9ecabfa..2988fe1 100644
--- a/drivers/pci/host/pci-xgene.c
+++ b/drivers/pci/host/pci-xgene.c
@@ -631,10 +631,15 @@ static int xgene_pcie_probe_bridge(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	bus = pci_scan_root_bus(&pdev->dev, 0, &xgene_pcie_ops, port, &res);
+	bus = pci_create_root_bus(&pdev->dev, 0,
+					&xgene_pcie_ops, port, &res);
 	if (!bus)
 		return -ENOMEM;
 
+	pci_scan_child_bus(bus);
+	pci_assign_unassigned_bus_resources(bus);
+	pci_bus_add_devices(bus);
+
 	platform_set_drvdata(pdev, port);
 	return 0;
 }
-- 
1.8.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ