[ARM] 3860/1: Versatile PCI config byte accesses
authorPaul Brook <paul@codesourcery.com>
Sun, 24 Sep 2006 15:54:40 +0000 (16:54 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 27 Sep 2006 08:35:07 +0000 (09:35 +0100)
The ARM Versatile board PCI config space read routines are broken for byte
accesses.  The access uses a byte read, so masking the bottom two bits of the
address is wrong.

I guess this is a cut/paste error from the the halfword code which uses
aligned word access+shift+mask.

Signed-off-by: Paul Brook <paul@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-versatile/pci.c

index 41b370090b60e2903ea8a3d1919fd19991332197..13bbd08ff841d2c006bd99646488193a7a7c619b 100644 (file)
@@ -117,7 +117,6 @@ static int versatile_read_config(struct pci_bus *bus, unsigned int devfn, int wh
        } else {
                switch (size) {
                case 1:
-                       addr &= ~3;
                        v = __raw_readb(addr);
                        break;