Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f6e74a3e0c5e805d5f67f7631259c886158a47b
Commit:     0f6e74a3e0c5e805d5f67f7631259c886158a47b
Parent:     d1af5b4ea970d8cccdacf243ae42899f3784ad85
Author:     Ishizaki Kou <[EMAIL PROTECTED]>
AuthorDate: Wed May 9 17:36:40 2007 +1000
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Thu May 10 21:28:12 2007 +1000

    [POWERPC] celleb: Fix PCI config space accesses to subordinate buses
    
    Checking whether bus->self is NULL is not enough to know "bus" is the
    primary bus.
    
    Signed-off-by: Kou Ishizaki <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/celleb/scc_epci.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/platforms/celleb/scc_epci.c 
b/arch/powerpc/platforms/celleb/scc_epci.c
index fb23d53..c4b0110 100644
--- a/arch/powerpc/platforms/celleb/scc_epci.c
+++ b/arch/powerpc/platforms/celleb/scc_epci.c
@@ -133,13 +133,13 @@ static int celleb_epci_check_abort(struct pci_controller 
*hose,
 }
 
 static volatile void __iomem *celleb_epci_make_config_addr(
+                                       struct pci_bus *bus,
                                        struct pci_controller *hose,
                                        unsigned int devfn, int where)
 {
        volatile void __iomem *addr;
-       struct pci_bus *bus = hose->bus;
 
-       if (bus->self)
+       if (bus != hose->bus)
                addr = celleb_epci_get_epci_cfg(hose) +
                       (((bus->number & 0xff) << 16)
                        | ((devfn & 0xff) << 8)
@@ -193,7 +193,7 @@ static int celleb_epci_read_config(struct pci_bus *bus,
        } else {
 
                clear_and_disable_master_abort_interrupt(hose);
-               addr = celleb_epci_make_config_addr(hose, devfn, where);
+               addr = celleb_epci_make_config_addr(bus, hose, devfn, where);
 
                switch (size) {
                case 1:
@@ -257,7 +257,7 @@ static int celleb_epci_write_config(struct pci_bus *bus,
        } else {
 
                clear_and_disable_master_abort_interrupt(hose);
-               addr = celleb_epci_make_config_addr(hose, devfn, where);
+               addr = celleb_epci_make_config_addr(bus, hose, devfn, where);
 
                switch (size) {
                case 1:
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to