[kernel] r8389 - in dists/etch/linux-2.6/debian: .
patches/bugfix/all patches/bugfix/all/xen patches/series
Bastian Blank
waldi at alioth.debian.org
Sat Mar 24 08:08:40 UTC 2007
Author: waldi
Date: Sat Mar 24 07:08:39 2007
New Revision: 8389
Added:
dists/etch/linux-2.6/debian/patches/bugfix/all/
dists/etch/linux-2.6/debian/patches/bugfix/all/xen/
dists/etch/linux-2.6/debian/patches/bugfix/all/xen/swiotlb-highmem-copy.patch (contents, props changed)
dists/etch/linux-2.6/debian/patches/series/12-extra
Modified:
dists/etch/linux-2.6/debian/changelog
Log:
xen: Fix highmem copy code.
* debian/changelog: Update.
* debian/patches/bugfix/all/xen/swiotlb-highmem-copy.patch: Add.
* debian/patches/series/12-extra: Add.
Modified: dists/etch/linux-2.6/debian/changelog
==============================================================================
--- dists/etch/linux-2.6/debian/changelog (original)
+++ dists/etch/linux-2.6/debian/changelog Sat Mar 24 07:08:39 2007
@@ -45,7 +45,10 @@
Fix a panic in the bnx2 driver caused by an off-by-one error
(closes: #410010)
- -- dann frazier <dannf at debian.org> Fri, 23 Mar 2007 18:19:09 -0600
+ [ Bastian Blank ]
+ * xen: Fix highmem dma copy code. (closes: #415805)
+
+ -- Bastian Blank <waldi at debian.org> Sat, 24 Mar 2007 08:06:27 +0100
linux-2.6 (2.6.18.dfsg.1-11) unstable; urgency=low
Added: dists/etch/linux-2.6/debian/patches/bugfix/all/xen/swiotlb-highmem-copy.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/bugfix/all/xen/swiotlb-highmem-copy.patch Sat Mar 24 07:08:39 2007
@@ -0,0 +1,27 @@
+diff -r d24540ecc512 arch/i386/kernel/swiotlb.c
+--- a/arch/i386/kernel/swiotlb.c Tue Jan 23 23:37:22 2007 +0100
++++ b/arch/i386/kernel/swiotlb.c Thu Mar 22 10:38:34 2007 +0100
+@@ -227,9 +227,12 @@ __sync_single(struct phys_addr buffer, c
+ char *dev, *host, *kmp;
+ len = size;
+ while (len != 0) {
++ unsigned long flags;
++
+ if (((bytes = len) + buffer.offset) > PAGE_SIZE)
+ bytes = PAGE_SIZE - buffer.offset;
+- kmp = kmap_atomic(buffer.page, KM_SWIOTLB);
++ local_irq_save(flags); /* protects KM_BOUNCE_READ */
++ kmp = kmap_atomic(buffer.page, KM_BOUNCE_READ);
+ dev = dma_addr + size - len;
+ host = kmp + buffer.offset;
+ if (dir == DMA_FROM_DEVICE) {
+@@ -237,7 +240,8 @@ __sync_single(struct phys_addr buffer, c
+ /* inaccessible */;
+ } else
+ memcpy(dev, host, bytes);
+- kunmap_atomic(kmp, KM_SWIOTLB);
++ kunmap_atomic(kmp, KM_BOUNCE_READ);
++ local_irq_restore(flags);
+ len -= bytes;
+ buffer.page++;
+ buffer.offset = 0;
Added: dists/etch/linux-2.6/debian/patches/series/12-extra
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/series/12-extra Sat Mar 24 07:08:39 2007
@@ -0,0 +1 @@
++ bugfix/all/xen/swiotlb-highmem-copy.patch *_xen *_xen-vserver
More information about the Kernel-svn-changes
mailing list