rpms/kernel/F-11 linux-2.6-ppc64-vs-broadcom-lmb-no-init-1.patch, NONE, 1.1.2.2 linux-2.6-ppc64-vs-broadcom-lmb-no-init-2.patch, NONE, 1.1.2.2 kernel.spec, 1.1679.2.21, 1.1679.2.22 linux-2.6-ppc64-vs-broadcom.patch, 1.1.2.1, 1.1.2.2

David Woodhouse dwmw2 at fedoraproject.org
Tue Sep 8 08:12:00 UTC 2009


Author: dwmw2

Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27678

Modified Files:
      Tag: private-fedora-11-2_6_29_6
	kernel.spec linux-2.6-ppc64-vs-broadcom.patch 
Added Files:
      Tag: private-fedora-11-2_6_29_6
	linux-2.6-ppc64-vs-broadcom-lmb-no-init-1.patch 
	linux-2.6-ppc64-vs-broadcom-lmb-no-init-2.patch 
Log Message:
Fix oops introduced by Ben's changes to the G5 iommu fix


linux-2.6-ppc64-vs-broadcom-lmb-no-init-1.patch:
 lmb.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE linux-2.6-ppc64-vs-broadcom-lmb-no-init-1.patch ---
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date: Thu, 27 Aug 2009 07:20:30 +0000 (+1000)
Subject: lmb: Remove __init from lmb_end_of_DRAM()
X-Git-Tag: v2.6.31-rc8~5
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=4f8ee2c9cc0e885d2bb50ef26db66150ab25213e

lmb: Remove __init from lmb_end_of_DRAM()

We call lmb_end_of_DRAM() to test whether a DMA mask is ok on a machine
without IOMMU, but this function is marked as __init.

I don't think there's a clean way to get the top of RAM max_pfn doesn't
appear to include highmem or I missed (or we have a bug :-) so for now,
let's just avoid having a broken 2.6.31 by making this function
non-__init and we can revisit later.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
---

diff --git a/lib/lmb.c b/lib/lmb.c
index e4a6482..0343c05 100644
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -429,7 +429,7 @@ u64 __init lmb_phys_mem_size(void)
 	return lmb.memory.size;
 }
 
-u64 __init lmb_end_of_DRAM(void)
+u64 lmb_end_of_DRAM(void)
 {
 	int idx = lmb.memory.cnt - 1;
 

linux-2.6-ppc64-vs-broadcom-lmb-no-init-2.patch:
 lmb.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE linux-2.6-ppc64-vs-broadcom-lmb-no-init-2.patch ---
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date: Mon, 31 Aug 2009 03:48:16 +0000 (+1000)
Subject: lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=1a37f184fa7824982a5f434c06981ec46a66cef7

lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h

My previous patch (commit 4f8ee2c9cc: "lmb: Remove __init from
lmb_end_of_DRAM()") removed __init in lmb.c but missed the fact that it
was also marked as such in the .h

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
---

diff --git a/include/linux/lmb.h b/include/linux/lmb.h
index c46c895..2442e3f 100644
--- a/include/linux/lmb.h
+++ b/include/linux/lmb.h
@@ -51,7 +51,7 @@ extern u64 __init lmb_alloc_base(u64 size,
 extern u64 __init __lmb_alloc_base(u64 size,
 		u64 align, u64 max_addr);
 extern u64 __init lmb_phys_mem_size(void);
-extern u64 __init lmb_end_of_DRAM(void);
+extern u64 lmb_end_of_DRAM(void);
 extern void __init lmb_enforce_memory_limit(u64 memory_limit);
 extern int __init lmb_is_reserved(u64 addr);
 extern int lmb_find(struct lmb_property *res);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1679.2.21
retrieving revision 1.1679.2.22
diff -u -p -r1.1679.2.21 -r1.1679.2.22
--- kernel.spec	1 Sep 2009 20:56:52 -0000	1.1679.2.21
+++ kernel.spec	8 Sep 2009 08:11:58 -0000	1.1679.2.22
@@ -619,8 +619,10 @@ Patch51: posix-timers-fix-oops-in-clock_
 Patch141: linux-2.6-ps3-storage-alias.patch
 Patch143: linux-2.6-g5-therm-shutdown.patch
 Patch144: linux-2.6-vio-modalias.patch
-Patch147: linux-2.6-imac-transparent-bridge.patch
-Patch148: linux-2.6-ppc64-vs-broadcom.patch
+Patch145: linux-2.6-imac-transparent-bridge.patch
+Patch146: linux-2.6-ppc64-vs-broadcom.patch
+Patch147: linux-2.6-ppc64-vs-broadcom-lmb-no-init-1.patch
+Patch148: linux-2.6-ppc64-vs-broadcom-lmb-no-init-2.patch
 
 Patch150: linux-2.6.29-sparc-IOC_TYPECHECK.patch
 
@@ -1279,6 +1281,8 @@ ApplyPatch linux-2.6-vio-modalias.patch
 ApplyPatch linux-2.6-imac-transparent-bridge.patch
 # Fix b43 support on no-iommu devices with <1GiB RAM
 ApplyPatch linux-2.6-ppc64-vs-broadcom.patch
+ApplyPatch linux-2.6-ppc64-vs-broadcom-lmb-no-init-1.patch 
+ApplyPatch linux-2.6-ppc64-vs-broadcom-lmb-no-init-2.patch 
 
 #
 # SPARC64
@@ -2188,6 +2192,10 @@ fi
 # and build.
 
 %changelog
+* Tue Sep 08 2009 David Woodhouse <David.Woodhouse at intel.com>
+- Added additional fixes needed for #514787:
+  linux-2.6-ppc64-vs-broadcom-lmb-no-init-*.patch
+
 * Tue Sep 01 2009 Eric Sandeen <sandeen at redhat.com>
 - Fix NFS vs. XFS oops (#502236)
 

linux-2.6-ppc64-vs-broadcom.patch:
 arch/powerpc/kernel/dma.c |    6 +++---
 include/linux/lmb.h       |    2 +-
 lib/lmb.c                 |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

Index: linux-2.6-ppc64-vs-broadcom.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/linux-2.6-ppc64-vs-broadcom.patch,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -p -r1.1.2.1 -r1.1.2.2
--- linux-2.6-ppc64-vs-broadcom.patch	21 Aug 2009 09:50:37 -0000	1.1.2.1
+++ linux-2.6-ppc64-vs-broadcom.patch	8 Sep 2009 08:11:59 -0000	1.1.2.2
@@ -1,21 +1,49 @@
-From b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9 Mon Sep 17 00:00:00 2001
-From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
-Date: Mon, 10 Aug 2009 16:36:38 +1000
-Subject: [PATCH] powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM
-
-On an iMac G5, the b43 driver is failing to initialise because trying to
-set the dma mask to 30-bit fails. Even though there's only 512MiB of RAM
-in the machine anyway:
-	https://bugzilla.redhat.com/show_bug.cgi?id=514787
-
-We should probably let it succeed if the available RAM in the system
-doesn't exceed the requested limit.
-
-Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
-Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
----
- arch/powerpc/kernel/dma.c |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
+commit b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9
+Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+Date:   Mon Aug 10 16:36:38 2009 +1000
+
+    powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM
+    
+    On an iMac G5, the b43 driver is failing to initialise because trying to
+    set the dma mask to 30-bit fails. Even though there's only 512MiB of RAM
+    in the machine anyway:
+        https://bugzilla.redhat.com/show_bug.cgi?id=514787
+    
+    We should probably let it succeed if the available RAM in the system
+    doesn't exceed the requested limit.
+    
+    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
+    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+
+commit 4f8ee2c9cc0e885d2bb50ef26db66150ab25213e
+Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+Date:   Thu Aug 27 17:20:30 2009 +1000
+
+    lmb: Remove __init from lmb_end_of_DRAM()
+    
+    We call lmb_end_of_DRAM() to test whether a DMA mask is ok on a machine
+    without IOMMU, but this function is marked as __init.
+    
+    I don't think there's a clean way to get the top of RAM max_pfn doesn't
+    appear to include highmem or I missed (or we have a bug :-) so for now,
+    let's just avoid having a broken 2.6.31 by making this function
+    non-__init and we can revisit later.
+    
+    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+
+commit 1a37f184fa7824982a5f434c06981ec46a66cef7
+Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+Date:   Mon Aug 31 13:48:16 2009 +1000
+
+    lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h
+    
+    My previous patch (commit 4f8ee2c9cc: "lmb: Remove __init from
+    lmb_end_of_DRAM()") removed __init in lmb.c but missed the fact that it
+    was also marked as such in the .h
+    
+    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
 
 diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
 index 20a60d6..ccf129d 100644
@@ -43,6 +71,29 @@ index 20a60d6..ccf129d 100644
  #else
  	return 1;
  #endif
--- 
-1.6.2.5
-
+diff --git a/include/linux/lmb.h b/include/linux/lmb.h
+index c46c895..2442e3f 100644
+--- a/include/linux/lmb.h
++++ b/include/linux/lmb.h
+@@ -51,7 +51,7 @@ extern u64 __init lmb_alloc_base(u64 size,
+ extern u64 __init __lmb_alloc_base(u64 size,
+ 		u64 align, u64 max_addr);
+ extern u64 __init lmb_phys_mem_size(void);
+-extern u64 __init lmb_end_of_DRAM(void);
++extern u64 lmb_end_of_DRAM(void);
+ extern void __init lmb_enforce_memory_limit(u64 memory_limit);
+ extern int __init lmb_is_reserved(u64 addr);
+ extern int lmb_find(struct lmb_property *res);
+diff --git a/lib/lmb.c b/lib/lmb.c
+index e4a6482..0343c05 100644
+--- a/lib/lmb.c
++++ b/lib/lmb.c
+@@ -429,7 +429,7 @@ u64 __init lmb_phys_mem_size(void)
+ 	return lmb.memory.size;
+ }
+ 
+-u64 __init lmb_end_of_DRAM(void)
++u64 lmb_end_of_DRAM(void)
+ {
+ 	int idx = lmb.memory.cnt - 1;
+ 




More information about the fedora-extras-commits mailing list