public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] intel-iommu-fault_reason_index_cleanup.patch
@ 2007-11-20 18:22 mark gross
  0 siblings, 0 replies; only message in thread
From: mark gross @ 2007-11-20 18:22 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds; +Cc: lkml

The following patch fixes an off by one bug in the fault reason string
reporting function, and cleans up some of the code around this buglet.


please apply.

--mgross

Signed-off-by: mark gross <mgross@linux.intel.com>


Index: linux-2.6.23-rc2-iommu/drivers/pci/intel-iommu.c
===================================================================
--- linux-2.6.23-rc2-iommu.orig/drivers/pci/intel-iommu.c	2007-11-20 10:04:39.000000000 -0800
+++ linux-2.6.23-rc2-iommu/drivers/pci/intel-iommu.c	2007-11-20 10:10:48.000000000 -0800
@@ -745,7 +745,7 @@
 
 /* iommu interrupt handling. Most stuff are MSI-like. */
 
-static char *fault_reason_strings[] =
+static const char *fault_reason_strings[] =
 {
 	"Software",
 	"Present bit in root entry is clear",
@@ -759,15 +759,14 @@
 	"Context table ptr is invalid",
 	"non-zero reserved fields in RTP",
 	"non-zero reserved fields in CTP",
-	"non-zero reserved fields in PTE",
-	"Unknown"
+	"non-zero reserved fields in PTE"
 };
 #define MAX_FAULT_REASON_IDX 	(ARRAY_SIZE(fault_reason_strings) - 1)
 
-char *dmar_get_fault_reason(u8 fault_reason)
+const char *dmar_get_fault_reason(u8 fault_reason)
 {
-	if (fault_reason >= MAX_FAULT_REASON_IDX)
-		return fault_reason_strings[MAX_FAULT_REASON_IDX - 1];
+	if (fault_reason > MAX_FAULT_REASON_IDX)
+		return "Unknown";
 	else
 		return fault_reason_strings[fault_reason];
 }
@@ -825,7 +824,7 @@
 static int iommu_page_fault_do_one(struct intel_iommu *iommu, int type,
 		u8 fault_reason, u16 source_id, u64 addr)
 {
-	char *reason;
+	const char *reason;
 
 	reason = dmar_get_fault_reason(fault_reason);
 
Index: linux-2.6.23-rc2-iommu/include/linux/dmar.h
===================================================================
--- linux-2.6.23-rc2-iommu.orig/include/linux/dmar.h	2007-11-20 10:12:06.000000000 -0800
+++ linux-2.6.23-rc2-iommu/include/linux/dmar.h	2007-11-20 10:13:43.000000000 -0800
@@ -28,7 +28,7 @@
 #ifdef CONFIG_DMAR
 struct intel_iommu;
 
-extern char *dmar_get_fault_reason(u8 fault_reason);
+extern const char *dmar_get_fault_reason(u8 fault_reason);
 
 /* Can't use the common MSI interrupt functions
  * since DMAR is not a pci device

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-20 18:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-20 18:22 [PATCH] intel-iommu-fault_reason_index_cleanup.patch mark gross

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox