[arch-commits] Commit in kernel26-lts/trunk (PKGBUILD buildfix.diff)

andyrtr at archlinux.org andyrtr at archlinux.org
Wed Mar 2 18:20:50 UTC 2011


    Date: Wednesday, March 2, 2011 @ 13:20:50
  Author: andyrtr
Revision: 111967

upgpkg: kernel26-lts 2.6.32.30-1
upstream update 2.6.32.30; add a buildfix for x86_64

Added:
  kernel26-lts/trunk/buildfix.diff
Modified:
  kernel26-lts/trunk/PKGBUILD

---------------+
 PKGBUILD      |   11 ++++++++---
 buildfix.diff |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-03-02 18:19:30 UTC (rev 111966)
+++ PKGBUILD	2011-03-02 18:20:50 UTC (rev 111967)
@@ -5,21 +5,24 @@
 pkgname=('kernel26-lts' 'kernel26-lts-headers') # Build stock -lts kernel
 _kernelname=${pkgname#kernel26}
 _basekernel=2.6.32
-pkgver=${_basekernel}.29
-pkgrel=3
+pkgver=${_basekernel}.30
+pkgrel=1
 arch=('i686' 'x86_64')
 license=('GPL2')
 url="http://www.kernel.org"
 source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
         ftp://ftp.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/patch-$pkgver.bz2
         libata-alignment.patch
+	# buildfix - revert http://git.kernel.org/?p=linux/kernel/git/longterm/linux-2.6.32.y.git;a=commitdiff;h=484d82b6e2e4239ba7a722e0c532e9aff64be51a
+	buildfix.diff
 	# the main kernel config files
         config config.x86_64
         # standard config files for mkinitcpio ramdisk
         ${pkgname}.preset)
 md5sums=('260551284ac224c3a43c4adac7df4879'
-         '023b3f22a815417b2f29c1e395991024'
+         'c300a25a2a4994c36b5c0035bc8ebda4'
          '30851deee235a7486bd408cbe8eb2d71'
+         'fd6d8b475be7adbb9a06f14586fa2629'
          '5e0b3fe84e762774469475cca6fb2fee'
          '71d8b368b6ec167488286195c37dd7de'
          '2cbfeb3e2a18d45f82f613e97fc23355')
@@ -36,6 +39,8 @@
 
   if [ "$CARCH" = "x86_64" ]; then
     cat ../config.x86_64 >./.config
+    # http://linux.kernel.org/mailman/private/stable/2011-March/071529.html
+    patch -Rp1 -i ${srcdir}/buildfix.diff
   else
     cat ../config >./.config
   fi

Added: buildfix.diff
===================================================================
--- buildfix.diff	                        (rev 0)
+++ buildfix.diff	2011-03-02 18:20:50 UTC (rev 111967)
@@ -0,0 +1,47 @@
+From: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
+Date: Fri, 25 Feb 2011 22:44:16 +0000 (-0800)
+Subject: swiotlb: fix wrong panic
+X-Git-Tag: v2.6.32.30~9
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Flongterm%2Flinux-2.6.32.y.git;a=commitdiff_plain;h=484d82b6e2e4239ba7a722e0c532e9aff64be51a
+
+swiotlb: fix wrong panic
+
+commit fba99fa38b023224680308a482e12a0eca87e4e1 upstream.
+
+swiotlb's map_page wrongly calls panic() when it can't find a buffer fit
+for device's dma mask.  It should return an error instead.
+
+Devices with an odd dma mask (i.e.  under 4G) like b44 network card hit
+this bug (the system crashes):
+
+   http://marc.info/?l=linux-kernel&m=129648943830106&w=2
+
+If swiotlb returns an error, b44 driver can use the own bouncing
+mechanism.
+
+Reported-by: Chuck Ebbert <cebbert at redhat.com>
+Signed-off-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
+Tested-by: Arkadiusz Miskiewicz <arekm at maven.pl>
+Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+---
+
+diff --git a/lib/swiotlb.c b/lib/swiotlb.c
+index ac25cd2..7740ee8 100644
+--- a/lib/swiotlb.c
++++ b/lib/swiotlb.c
+@@ -631,8 +631,10 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page,
+ 	/*
+ 	 * Ensure that the address returned is DMA'ble
+ 	 */
+-	if (!dma_capable(dev, dev_addr, size))
+-		panic("map_single: bounce buffer is not DMA'ble");
++	if (!dma_capable(dev, dev_addr, size)) {
++		swiotlb_tbl_unmap_single(dev, map, size, dir);
++		dev_addr = swiotlb_virt_to_bus(dev, io_tlb_overflow_buffer);
++	}
+ 
+ 	return dev_addr;
+ }
+




More information about the arch-commits mailing list