OpenWrt – Diff between revs 2 and 3

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 2 Rev 3
Line 1... Line 1...
1 --- a/arch/arm/mach-cns3xxx/pcie.c 1 --- a/arch/arm/mach-cns3xxx/pcie.c
2 +++ b/arch/arm/mach-cns3xxx/pcie.c 2 +++ b/arch/arm/mach-cns3xxx/pcie.c
3 @@ -86,6 +86,79 @@ static void __iomem *cns3xxx_pci_map_bus 3 @@ -86,6 +86,79 @@ static void __iomem *cns3xxx_pci_map_bus
4 return base + where + (devfn << 12); 4 return base + (where & 0xffc) + (devfn << 12);
5 } 5 }
Line 6... Line 6...
6 6
7 +static inline int check_master_abort(struct pci_bus *bus, unsigned int devfn, int where) 7 +static inline int check_master_abort(struct pci_bus *bus, unsigned int devfn, int where)
8 +{ 8 +{
Line 80... Line 80...
80 static int cns3xxx_pci_read_config(struct pci_bus *bus, unsigned int devfn, 80 static int cns3xxx_pci_read_config(struct pci_bus *bus, unsigned int devfn,
81 int where, int size, u32 *val) 81 int where, int size, u32 *val)
82 { 82 {
83 @@ -95,6 +168,11 @@ static int cns3xxx_pci_read_config(struc 83 @@ -95,6 +168,11 @@ static int cns3xxx_pci_read_config(struc
Line 84... Line 84...
84 84
Line 85... Line 85...
85 ret = pci_generic_config_read(bus, devfn, where, size, val); 85 ret = pci_generic_config_read32(bus, devfn, where, size, val);
86 86
87 + if (check_master_abort(bus, devfn, where)) { 87 + if (check_master_abort(bus, devfn, where)) {
88 + printk(KERN_ERR "pci error: %04d:%02x:%02x.%02x %02x(%d)= master_abort on read\n", pci_domain_nr(bus), bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn), where, size); 88 + printk(KERN_ERR "pci error: %04d:%02x:%02x.%02x %02x(%d)= master_abort on read\n", pci_domain_nr(bus), bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn), where, size);