diff --git a/debian/changelog b/debian/changelog index 0ebe84e87..0408846ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,6 +29,7 @@ linux-2.6 (2.6.18-6) UNRELEASED; urgency=low * arm/ixp4xx: Set CONFIG_ATM=m so CONFIG_USB_ATM has an effect. * arm/iop32x: Likewise. * arm/s3c2410: Unset CONFIG_PM_LEGACY. + * arm/versatile: Fix Versatile PCI config byte accesses [ dann frazier ] * Backport various SCTP changesets from 2.6.19, recommended by Vlad Yasevich diff --git a/debian/patches/bugfix/arm/versatile-pci.patch b/debian/patches/bugfix/arm/versatile-pci.patch new file mode 100644 index 000000000..300d41060 --- /dev/null +++ b/debian/patches/bugfix/arm/versatile-pci.patch @@ -0,0 +1,26 @@ +commit c06015148fa9a3cc452ec7121b8c3f59f4a7d6ac +Author: Paul Brook +Date: Sun Sep 24 16:54:40 2006 +0100 + + [ARM] 3860/1: Versatile PCI config byte accesses + + 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 + Signed-off-by: Russell King + +--- linux-2.6-2.6.18/arch/arm/mach-versatile/pci.c.orig 2006-11-15 01:33:12.657102390 +0100 ++++ linux-2.6-2.6.18/arch/arm/mach-versatile/pci.c 2006-11-15 01:33:19.435799210 +0100 +@@ -117,7 +117,6 @@ + } else { + switch (size) { + case 1: +- addr &= ~3; + v = __raw_readb(addr); + break; + diff --git a/debian/patches/series/6 b/debian/patches/series/6 index fa5c03bdb..90097e36b 100644 --- a/debian/patches/series/6 +++ b/debian/patches/series/6 @@ -16,3 +16,4 @@ + bugfix/bcm43xx-drain-tx-status-before-starting-irqs.patch + bugfix/video-nvidiafb-divide-zero.patch + bugfix/scsi-SG_IO-data-direction.patch ++ bugfix/arm/versatile-pci.patch