diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-03-04 11:48:08 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-03-04 11:48:08 +0000 |
commit | 64a9fe2894ab05e504cfcb824701e59d484f5f53 (patch) | |
tree | f20f4cadaef860aff569c7f9054dcc9864650ed1 /target/linux/ar71xx/patches-3.8/015-MIPS-avoid-possible-resource-conflict-in-register_pc.patch | |
parent | 12d49b5195716dfebb65da590646c6ebd6cacf70 (diff) | |
download | mtk-20170518-64a9fe2894ab05e504cfcb824701e59d484f5f53.zip mtk-20170518-64a9fe2894ab05e504cfcb824701e59d484f5f53.tar.gz mtk-20170518-64a9fe2894ab05e504cfcb824701e59d484f5f53.tar.bz2 |
ar71xx: use backported PCI patches
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35877
Diffstat (limited to 'target/linux/ar71xx/patches-3.8/015-MIPS-avoid-possible-resource-conflict-in-register_pc.patch')
-rw-r--r-- | target/linux/ar71xx/patches-3.8/015-MIPS-avoid-possible-resource-conflict-in-register_pc.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-3.8/015-MIPS-avoid-possible-resource-conflict-in-register_pc.patch b/target/linux/ar71xx/patches-3.8/015-MIPS-avoid-possible-resource-conflict-in-register_pc.patch new file mode 100644 index 0000000..613c7ad --- /dev/null +++ b/target/linux/ar71xx/patches-3.8/015-MIPS-avoid-possible-resource-conflict-in-register_pc.patch @@ -0,0 +1,52 @@ +From 4da85831c8eaf2de2cadae6723e8231068c313b7 Mon Sep 17 00:00:00 2001 +From: Gabor Juhos <juhosg@openwrt.org> +Date: Sat, 2 Feb 2013 13:18:54 +0000 +Subject: [PATCH] MIPS: avoid possible resource conflict in + register_pci_controller + +commit 222831787704c9ad9215f6b56f975b233968607c upstream. + +The IO and memory resources of a PCI controller +might already have a parent resource set when +they are passed to 'register_pci_controller'. + +If the parent resource is set, the request_resource +call will fail due to resource conflict and the +current code will not be able to register the +PCI controller. + +Use the parent resource if it is available in the +request_resource call to avoid the isssue. + +Signed-off-by: Gabor Juhos <juhosg@openwrt.org> +Patchwork: http://patchwork.linux-mips.org/patch/4910/ +Signed-off-by: John Crispin <blogic@openwrt.org> +--- + arch/mips/pci/pci.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +--- a/arch/mips/pci/pci.c ++++ b/arch/mips/pci/pci.c +@@ -175,9 +175,20 @@ static DEFINE_MUTEX(pci_scan_mutex); + + void register_pci_controller(struct pci_controller *hose) + { +- if (request_resource(&iomem_resource, hose->mem_resource) < 0) ++ struct resource *parent; ++ ++ parent = hose->mem_resource->parent; ++ if (!parent) ++ parent = &iomem_resource; ++ ++ if (request_resource(parent, hose->mem_resource) < 0) + goto out; +- if (request_resource(&ioport_resource, hose->io_resource) < 0) { ++ ++ parent = hose->io_resource->parent; ++ if (!parent) ++ parent = &ioport_resource; ++ ++ if (request_resource(parent, hose->io_resource) < 0) { + release_resource(hose->mem_resource); + goto out; + } |