kernel: update MIPS pci fix to the accepted version
Fix the list order instead of adjusting the controller scan order. Revert the former required changes to the lantiq PCIe driver. Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
parent
813efe57e4
commit
136718a3d9
3 changed files with 33 additions and 34 deletions
|
@ -0,0 +1,31 @@
|
|||
From: Mathias Kresin <dev@kresin.me>
|
||||
Date: Sun, 26 Mar 2017 19:05:36 +0200
|
||||
Subject: MIPS: PCI: add controllers before the specified head
|
||||
|
||||
With commit 23dac14d058f ("MIPS: PCI: Use struct list_head lists") new
|
||||
controllers are added after the specified head where they were added
|
||||
before the specified head previously.
|
||||
|
||||
Use list_add_tail to restore the former order.
|
||||
|
||||
This patches fixes the following PCI error on lantiq:
|
||||
|
||||
pci 0000:01:00.0: BAR 0: error updating (0x1c000004 != 0x000000)
|
||||
|
||||
Fixes: 23dac14d058f ("MIPS: PCI: Use struct list_head lists")
|
||||
Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
---
|
||||
arch/mips/pci/pci-legacy.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/mips/pci/pci-legacy.c
|
||||
+++ b/arch/mips/pci/pci-legacy.c
|
||||
@@ -190,7 +190,7 @@ void register_pci_controller(struct pci_
|
||||
}
|
||||
|
||||
INIT_LIST_HEAD(&hose->list);
|
||||
- list_add(&hose->list, &controllers);
|
||||
+ list_add_tail(&hose->list, &controllers);
|
||||
|
||||
/*
|
||||
* Do not panic here but later - this might happen before console init.
|
|
@ -1,31 +0,0 @@
|
|||
From: Mathias Kresin <dev@kresin.me>
|
||||
Date: Tue, 14 Mar 2017 22:12:12 +0100
|
||||
Subject: [PATCH v2] MIPS: PCI: scan PCI controllers in reverse order
|
||||
|
||||
Commit 23dac14d058f ("MIPS: PCI: Use struct list_head lists") changed
|
||||
the controller list from reverse to straight order without taking care
|
||||
of the changed order for the scan of the recorded PCI controllers.
|
||||
|
||||
Traverse the list in reverse order to restore the former behaviour.
|
||||
|
||||
This patches fixes the following PCI error on lantiq:
|
||||
|
||||
pci 0000:01:00.0: BAR 0: error updating (0x1c000004 != 0x000000)
|
||||
|
||||
Fixes: 23dac14d058f ("MIPS: PCI: Use struct list_head lists")
|
||||
Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
---
|
||||
arch/mips/pci/pci-legacy.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/mips/pci/pci-legacy.c
|
||||
+++ b/arch/mips/pci/pci-legacy.c
|
||||
@@ -222,7 +222,7 @@ static int __init pcibios_init(void)
|
||||
struct pci_controller *hose;
|
||||
|
||||
/* Scan all of the recorded PCI controllers. */
|
||||
- list_for_each_entry(hose, &controllers, list)
|
||||
+ list_for_each_entry_reverse(hose, &controllers, list)
|
||||
pcibios_scanbus(hose);
|
||||
|
||||
pci_fixup_irqs(pci_common_swizzle, pcibios_map_irq);
|
|
@ -4143,7 +4143,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+
|
||||
--- a/arch/mips/pci/pci-legacy.c
|
||||
+++ b/arch/mips/pci/pci-legacy.c
|
||||
@@ -300,3 +300,31 @@ char *__init pcibios_setup(char *str)
|
||||
@@ -300,3 +300,30 @@ char *__init pcibios_setup(char *str)
|
||||
return pcibios_plat_setup(str);
|
||||
return str;
|
||||
}
|
||||
|
@ -4164,8 +4164,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+ int bus_nr = 0;
|
||||
+ struct pci_controller *hose;
|
||||
+
|
||||
+ if (!list_empty(&controllers))
|
||||
+ hose = list_last_entry(&controllers, struct pci_controller, list);
|
||||
+ hose = list_first_entry_or_null(&controllers, struct pci_controller, list);
|
||||
+
|
||||
+ if (hose != NULL) {
|
||||
+ if (hose->bus != NULL) {
|
||||
|
|
Loading…
Reference in a new issue