All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <541BD202.5080200@huawei.com>

diff --git a/a/1.txt b/N1/1.txt
index a2c9a24..e9f8c9f 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -2,9 +2,9 @@ On 2014/9/19 13:18, Jiang Liu wrote:
 > Implement required callback functions for intel_irq_remapping driver
 > to support DMAR unit hotplug.
 > 
-> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
+> Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
 
-Reviewed-by: Yijing Wang <wangyijing@huawei.com>
+Reviewed-by: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
 
 > ---
 >  drivers/iommu/intel_irq_remapping.c |  226 ++++++++++++++++++++++++++---------
@@ -26,8 +26,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  	int i;
 >  
 >  	for (i = 0; i < MAX_HPET_TBS; i++)
-> -		if (ir_hpet[i].id = hpet_id)
-> +		if (ir_hpet[i].id = hpet_id && ir_hpet[i].iommu)
+> -		if (ir_hpet[i].id == hpet_id)
+> +		if (ir_hpet[i].id == hpet_id && ir_hpet[i].iommu)
 >  			return ir_hpet[i].iommu;
 >  	return NULL;
 >  }
@@ -35,8 +35,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  	int i;
 >  
 >  	for (i = 0; i < MAX_IO_APICS; i++)
-> -		if (ir_ioapic[i].id = apic)
-> +		if (ir_ioapic[i].id = apic && ir_ioapic[i].iommu)
+> -		if (ir_ioapic[i].id == apic)
+> +		if (ir_ioapic[i].id == apic && ir_ioapic[i].iommu)
 >  			return ir_ioapic[i].iommu;
 >  	return NULL;
 >  }
@@ -44,8 +44,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  
 >  	down_read(&dmar_global_lock);
 >  	for (i = 0; i < MAX_IO_APICS; i++) {
-> -		if (ir_ioapic[i].id = apic) {
-> +		if (ir_ioapic[i].iommu && ir_ioapic[i].id = apic) {
+> -		if (ir_ioapic[i].id == apic) {
+> +		if (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) {
 >  			sid = (ir_ioapic[i].bus << 8) | ir_ioapic[i].devfn;
 >  			break;
 >  		}
@@ -53,8 +53,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  
 >  	down_read(&dmar_global_lock);
 >  	for (i = 0; i < MAX_HPET_TBS; i++) {
-> -		if (ir_hpet[i].id = id) {
-> +		if (ir_hpet[i].iommu && ir_hpet[i].id = id) {
+> -		if (ir_hpet[i].id == id) {
+> +		if (ir_hpet[i].iommu && ir_hpet[i].id == id) {
 >  			sid = (ir_hpet[i].bus << 8) | ir_hpet[i].devfn;
 >  			break;
 >  		}
@@ -154,13 +154,13 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -	ir_hpet_num++;
 > +
 > +	for (count = 0; count < MAX_HPET_TBS; count++) {
-> +		if (ir_hpet[count].iommu = iommu &&
-> +		    ir_hpet[count].id = scope->enumeration_id)
+> +		if (ir_hpet[count].iommu == iommu &&
+> +		    ir_hpet[count].id == scope->enumeration_id)
 > +			return 0;
-> +		else if (ir_hpet[count].iommu = NULL && free = -1)
+> +		else if (ir_hpet[count].iommu == NULL && free == -1)
 > +			free = count;
 > +	}
-> +	if (free = -1) {
+> +	if (free == -1) {
 > +		pr_warn("Exceeded Max HPET blocks\n");
 > +		return -ENOSPC;
 > +	}
@@ -198,13 +198,13 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -	ir_ioapic[ir_ioapic_num].id    = scope->enumeration_id;
 > -	ir_ioapic_num++;
 > +	for (count = 0; count < MAX_IO_APICS; count++) {
-> +		if (ir_ioapic[count].iommu = iommu &&
-> +		    ir_ioapic[count].id = scope->enumeration_id)
+> +		if (ir_ioapic[count].iommu == iommu &&
+> +		    ir_ioapic[count].id == scope->enumeration_id)
 > +			return 0;
-> +		else if (ir_ioapic[count].iommu = NULL && free = -1)
+> +		else if (ir_ioapic[count].iommu == NULL && free == -1)
 > +			free = count;
 > +	}
-> +	if (free = -1) {
+> +	if (free == -1) {
 > +		pr_warn("Exceeded Max IO APICS\n");
 > +		return -ENOSPC;
 > +	}
@@ -233,10 +233,10 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  	end = ((void *)drhd) + header->length;
 >  
 > -	while (start < end) {
-> +	while (start < end && ret = 0) {
+> +	while (start < end && ret == 0) {
 >  		scope = start;
-> -		if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC) {
-> -			if (ir_ioapic_num = MAX_IO_APICS) {
+> -		if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC) {
+> -			if (ir_ioapic_num == MAX_IO_APICS) {
 > -				printk(KERN_WARNING "Exceeded Max IO APICS\n");
 > -				return -1;
 > -			}
@@ -244,16 +244,16 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -			printk(KERN_INFO "IOAPIC id %d under DRHD base "
 > -			       " 0x%Lx IOMMU %d\n", scope->enumeration_id,
 > -			       drhd->address, iommu->seq_id);
-> +		if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC)
+> +		if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC)
 > +			ret = ir_parse_one_ioapic_scope(scope, iommu, drhd);
-> +		else if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET)
+> +		else if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET)
 > +			ret = ir_parse_one_hpet_scope(scope, iommu, drhd);
 > +		start += scope->length;
 > +	}
 >  
 > -			ir_parse_one_ioapic_scope(scope, iommu);
-> -		} else if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET) {
-> -			if (ir_hpet_num = MAX_HPET_TBS) {
+> -		} else if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET) {
+> -			if (ir_hpet_num == MAX_HPET_TBS) {
 > -				printk(KERN_WARNING "Exceeded Max HPET blocks\n");
 > -				return -1;
 > -			}
@@ -272,12 +272,12 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -		start += scope->length;
 > -	}
 > +	for (i = 0; i < MAX_HPET_TBS; i++)
-> +		if (ir_hpet[i].iommu = iommu)
+> +		if (ir_hpet[i].iommu == iommu)
 > +			ir_hpet[i].iommu = NULL;
 >  
 > -	return 0;
 > +	for (i = 0; i < MAX_IO_APICS; i++)
-> +		if (ir_ioapic[i].iommu = iommu)
+> +		if (ir_ioapic[i].iommu == iommu)
 > +			ir_ioapic[i].iommu = NULL;
 >  }
 >  
@@ -346,7 +346,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > +
 > +	if (!irq_remapping_enabled)
 > +		return 0;
-> +	if (iommu = NULL)
+> +	if (iommu == NULL)
 > +		return -EINVAL;
 > +	if (!ecap_ir_support(iommu->ecap))
 > +		return 0;
diff --git a/a/content_digest b/N1/content_digest
index b914222..84474d0 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,32 +1,32 @@
  "ref\01411103935-31301-1-git-send-email-jiang.liu@linux.intel.com\0"
  "ref\01411103935-31301-6-git-send-email-jiang.liu@linux.intel.com\0"
- "From\0Yijing Wang <wangyijing@huawei.com>\0"
+ "ref\01411103935-31301-6-git-send-email-jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org\0"
+ "From\0Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>\0"
  "Subject\0Re: [Patch Part3 V6 5/8] iommu/vt-d: Enhance intel_irq_remapping driver to support DMAR unit hotplug\0"
- "Date\0Fri, 19 Sep 2014 06:49:38 +0000\0"
- "To\0Jiang Liu <jiang.liu@linux.intel.com>"
-  Joerg Roedel <joro@8bytes.org>
-  David Woodhouse <dwmw2@infradead.org>
-  Yinghai Lu <yinghai@kernel.org>
-  Bjorn Helgaas <bhelgaas@google.com>
-  Dan Williams <dan.j.williams@intel.com>
-  Vinod Koul <vinod.koul@intel.com>
- " Rafael J . Wysocki <rafael.j.wysocki@intel.com>\0"
- "Cc\0Ashok Raj <ashok.raj@intel.com>"
-  Tony Luck <tony.luck@intel.com>
-  iommu@lists.linux-foundation.org
-  linux-pci@vger.kernel.org
-  linux-hotplug@vger.kernel.org
-  linux-kernel@vger.kernel.org
- " dmaengine@vger.kernel.org\0"
+ "Date\0Fri, 19 Sep 2014 14:49:38 +0800\0"
+ "To\0Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>"
+  Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
+  David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
+  Yinghai Lu <yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
+  Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
+  Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+  Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+ " Rafael J . Wysocki <rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>\0"
+ "Cc\0Tony Luck <tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>"
+  linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
+ " dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\0"
  "\00:1\0"
  "b\0"
  "On 2014/9/19 13:18, Jiang Liu wrote:\n"
  "> Implement required callback functions for intel_irq_remapping driver\n"
  "> to support DMAR unit hotplug.\n"
  "> \n"
- "> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>\n"
+ "> Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>\n"
  "\n"
- "Reviewed-by: Yijing Wang <wangyijing@huawei.com>\n"
+ "Reviewed-by: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>\n"
  "\n"
  "> ---\n"
  ">  drivers/iommu/intel_irq_remapping.c |  226 ++++++++++++++++++++++++++---------\n"
@@ -48,8 +48,8 @@
  ">  \tint i;\n"
  ">  \n"
  ">  \tfor (i = 0; i < MAX_HPET_TBS; i++)\n"
- "> -\t\tif (ir_hpet[i].id = hpet_id)\n"
- "> +\t\tif (ir_hpet[i].id = hpet_id && ir_hpet[i].iommu)\n"
+ "> -\t\tif (ir_hpet[i].id == hpet_id)\n"
+ "> +\t\tif (ir_hpet[i].id == hpet_id && ir_hpet[i].iommu)\n"
  ">  \t\t\treturn ir_hpet[i].iommu;\n"
  ">  \treturn NULL;\n"
  ">  }\n"
@@ -57,8 +57,8 @@
  ">  \tint i;\n"
  ">  \n"
  ">  \tfor (i = 0; i < MAX_IO_APICS; i++)\n"
- "> -\t\tif (ir_ioapic[i].id = apic)\n"
- "> +\t\tif (ir_ioapic[i].id = apic && ir_ioapic[i].iommu)\n"
+ "> -\t\tif (ir_ioapic[i].id == apic)\n"
+ "> +\t\tif (ir_ioapic[i].id == apic && ir_ioapic[i].iommu)\n"
  ">  \t\t\treturn ir_ioapic[i].iommu;\n"
  ">  \treturn NULL;\n"
  ">  }\n"
@@ -66,8 +66,8 @@
  ">  \n"
  ">  \tdown_read(&dmar_global_lock);\n"
  ">  \tfor (i = 0; i < MAX_IO_APICS; i++) {\n"
- "> -\t\tif (ir_ioapic[i].id = apic) {\n"
- "> +\t\tif (ir_ioapic[i].iommu && ir_ioapic[i].id = apic) {\n"
+ "> -\t\tif (ir_ioapic[i].id == apic) {\n"
+ "> +\t\tif (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) {\n"
  ">  \t\t\tsid = (ir_ioapic[i].bus << 8) | ir_ioapic[i].devfn;\n"
  ">  \t\t\tbreak;\n"
  ">  \t\t}\n"
@@ -75,8 +75,8 @@
  ">  \n"
  ">  \tdown_read(&dmar_global_lock);\n"
  ">  \tfor (i = 0; i < MAX_HPET_TBS; i++) {\n"
- "> -\t\tif (ir_hpet[i].id = id) {\n"
- "> +\t\tif (ir_hpet[i].iommu && ir_hpet[i].id = id) {\n"
+ "> -\t\tif (ir_hpet[i].id == id) {\n"
+ "> +\t\tif (ir_hpet[i].iommu && ir_hpet[i].id == id) {\n"
  ">  \t\t\tsid = (ir_hpet[i].bus << 8) | ir_hpet[i].devfn;\n"
  ">  \t\t\tbreak;\n"
  ">  \t\t}\n"
@@ -176,13 +176,13 @@
  "> -\tir_hpet_num++;\n"
  "> +\n"
  "> +\tfor (count = 0; count < MAX_HPET_TBS; count++) {\n"
- "> +\t\tif (ir_hpet[count].iommu = iommu &&\n"
- "> +\t\t    ir_hpet[count].id = scope->enumeration_id)\n"
+ "> +\t\tif (ir_hpet[count].iommu == iommu &&\n"
+ "> +\t\t    ir_hpet[count].id == scope->enumeration_id)\n"
  "> +\t\t\treturn 0;\n"
- "> +\t\telse if (ir_hpet[count].iommu = NULL && free = -1)\n"
+ "> +\t\telse if (ir_hpet[count].iommu == NULL && free == -1)\n"
  "> +\t\t\tfree = count;\n"
  "> +\t}\n"
- "> +\tif (free = -1) {\n"
+ "> +\tif (free == -1) {\n"
  "> +\t\tpr_warn(\"Exceeded Max HPET blocks\\n\");\n"
  "> +\t\treturn -ENOSPC;\n"
  "> +\t}\n"
@@ -220,13 +220,13 @@
  "> -\tir_ioapic[ir_ioapic_num].id    = scope->enumeration_id;\n"
  "> -\tir_ioapic_num++;\n"
  "> +\tfor (count = 0; count < MAX_IO_APICS; count++) {\n"
- "> +\t\tif (ir_ioapic[count].iommu = iommu &&\n"
- "> +\t\t    ir_ioapic[count].id = scope->enumeration_id)\n"
+ "> +\t\tif (ir_ioapic[count].iommu == iommu &&\n"
+ "> +\t\t    ir_ioapic[count].id == scope->enumeration_id)\n"
  "> +\t\t\treturn 0;\n"
- "> +\t\telse if (ir_ioapic[count].iommu = NULL && free = -1)\n"
+ "> +\t\telse if (ir_ioapic[count].iommu == NULL && free == -1)\n"
  "> +\t\t\tfree = count;\n"
  "> +\t}\n"
- "> +\tif (free = -1) {\n"
+ "> +\tif (free == -1) {\n"
  "> +\t\tpr_warn(\"Exceeded Max IO APICS\\n\");\n"
  "> +\t\treturn -ENOSPC;\n"
  "> +\t}\n"
@@ -255,10 +255,10 @@
  ">  \tend = ((void *)drhd) + header->length;\n"
  ">  \n"
  "> -\twhile (start < end) {\n"
- "> +\twhile (start < end && ret = 0) {\n"
+ "> +\twhile (start < end && ret == 0) {\n"
  ">  \t\tscope = start;\n"
- "> -\t\tif (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC) {\n"
- "> -\t\t\tif (ir_ioapic_num = MAX_IO_APICS) {\n"
+ "> -\t\tif (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC) {\n"
+ "> -\t\t\tif (ir_ioapic_num == MAX_IO_APICS) {\n"
  "> -\t\t\t\tprintk(KERN_WARNING \"Exceeded Max IO APICS\\n\");\n"
  "> -\t\t\t\treturn -1;\n"
  "> -\t\t\t}\n"
@@ -266,16 +266,16 @@
  "> -\t\t\tprintk(KERN_INFO \"IOAPIC id %d under DRHD base \"\n"
  "> -\t\t\t       \" 0x%Lx IOMMU %d\\n\", scope->enumeration_id,\n"
  "> -\t\t\t       drhd->address, iommu->seq_id);\n"
- "> +\t\tif (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC)\n"
+ "> +\t\tif (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC)\n"
  "> +\t\t\tret = ir_parse_one_ioapic_scope(scope, iommu, drhd);\n"
- "> +\t\telse if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET)\n"
+ "> +\t\telse if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET)\n"
  "> +\t\t\tret = ir_parse_one_hpet_scope(scope, iommu, drhd);\n"
  "> +\t\tstart += scope->length;\n"
  "> +\t}\n"
  ">  \n"
  "> -\t\t\tir_parse_one_ioapic_scope(scope, iommu);\n"
- "> -\t\t} else if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET) {\n"
- "> -\t\t\tif (ir_hpet_num = MAX_HPET_TBS) {\n"
+ "> -\t\t} else if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET) {\n"
+ "> -\t\t\tif (ir_hpet_num == MAX_HPET_TBS) {\n"
  "> -\t\t\t\tprintk(KERN_WARNING \"Exceeded Max HPET blocks\\n\");\n"
  "> -\t\t\t\treturn -1;\n"
  "> -\t\t\t}\n"
@@ -294,12 +294,12 @@
  "> -\t\tstart += scope->length;\n"
  "> -\t}\n"
  "> +\tfor (i = 0; i < MAX_HPET_TBS; i++)\n"
- "> +\t\tif (ir_hpet[i].iommu = iommu)\n"
+ "> +\t\tif (ir_hpet[i].iommu == iommu)\n"
  "> +\t\t\tir_hpet[i].iommu = NULL;\n"
  ">  \n"
  "> -\treturn 0;\n"
  "> +\tfor (i = 0; i < MAX_IO_APICS; i++)\n"
- "> +\t\tif (ir_ioapic[i].iommu = iommu)\n"
+ "> +\t\tif (ir_ioapic[i].iommu == iommu)\n"
  "> +\t\t\tir_ioapic[i].iommu = NULL;\n"
  ">  }\n"
  ">  \n"
@@ -368,7 +368,7 @@
  "> +\n"
  "> +\tif (!irq_remapping_enabled)\n"
  "> +\t\treturn 0;\n"
- "> +\tif (iommu = NULL)\n"
+ "> +\tif (iommu == NULL)\n"
  "> +\t\treturn -EINVAL;\n"
  "> +\tif (!ecap_ir_support(iommu->ecap))\n"
  "> +\t\treturn 0;\n"
@@ -398,4 +398,4 @@
  "Thanks!\n"
  Yijing
 
-e8ee28e3854ab2e3d217f3052fd4efd0df61f4afb715a8480fff9586edf5c71c
+b702c5be9ddcf68910072bca2556049fa82d75fce41a06ad648d81c9a6118502

diff --git a/a/1.txt b/N2/1.txt
index a2c9a24..22d85c2 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -26,8 +26,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  	int i;
 >  
 >  	for (i = 0; i < MAX_HPET_TBS; i++)
-> -		if (ir_hpet[i].id = hpet_id)
-> +		if (ir_hpet[i].id = hpet_id && ir_hpet[i].iommu)
+> -		if (ir_hpet[i].id == hpet_id)
+> +		if (ir_hpet[i].id == hpet_id && ir_hpet[i].iommu)
 >  			return ir_hpet[i].iommu;
 >  	return NULL;
 >  }
@@ -35,8 +35,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  	int i;
 >  
 >  	for (i = 0; i < MAX_IO_APICS; i++)
-> -		if (ir_ioapic[i].id = apic)
-> +		if (ir_ioapic[i].id = apic && ir_ioapic[i].iommu)
+> -		if (ir_ioapic[i].id == apic)
+> +		if (ir_ioapic[i].id == apic && ir_ioapic[i].iommu)
 >  			return ir_ioapic[i].iommu;
 >  	return NULL;
 >  }
@@ -44,8 +44,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  
 >  	down_read(&dmar_global_lock);
 >  	for (i = 0; i < MAX_IO_APICS; i++) {
-> -		if (ir_ioapic[i].id = apic) {
-> +		if (ir_ioapic[i].iommu && ir_ioapic[i].id = apic) {
+> -		if (ir_ioapic[i].id == apic) {
+> +		if (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) {
 >  			sid = (ir_ioapic[i].bus << 8) | ir_ioapic[i].devfn;
 >  			break;
 >  		}
@@ -53,8 +53,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  
 >  	down_read(&dmar_global_lock);
 >  	for (i = 0; i < MAX_HPET_TBS; i++) {
-> -		if (ir_hpet[i].id = id) {
-> +		if (ir_hpet[i].iommu && ir_hpet[i].id = id) {
+> -		if (ir_hpet[i].id == id) {
+> +		if (ir_hpet[i].iommu && ir_hpet[i].id == id) {
 >  			sid = (ir_hpet[i].bus << 8) | ir_hpet[i].devfn;
 >  			break;
 >  		}
@@ -154,13 +154,13 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -	ir_hpet_num++;
 > +
 > +	for (count = 0; count < MAX_HPET_TBS; count++) {
-> +		if (ir_hpet[count].iommu = iommu &&
-> +		    ir_hpet[count].id = scope->enumeration_id)
+> +		if (ir_hpet[count].iommu == iommu &&
+> +		    ir_hpet[count].id == scope->enumeration_id)
 > +			return 0;
-> +		else if (ir_hpet[count].iommu = NULL && free = -1)
+> +		else if (ir_hpet[count].iommu == NULL && free == -1)
 > +			free = count;
 > +	}
-> +	if (free = -1) {
+> +	if (free == -1) {
 > +		pr_warn("Exceeded Max HPET blocks\n");
 > +		return -ENOSPC;
 > +	}
@@ -198,13 +198,13 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -	ir_ioapic[ir_ioapic_num].id    = scope->enumeration_id;
 > -	ir_ioapic_num++;
 > +	for (count = 0; count < MAX_IO_APICS; count++) {
-> +		if (ir_ioapic[count].iommu = iommu &&
-> +		    ir_ioapic[count].id = scope->enumeration_id)
+> +		if (ir_ioapic[count].iommu == iommu &&
+> +		    ir_ioapic[count].id == scope->enumeration_id)
 > +			return 0;
-> +		else if (ir_ioapic[count].iommu = NULL && free = -1)
+> +		else if (ir_ioapic[count].iommu == NULL && free == -1)
 > +			free = count;
 > +	}
-> +	if (free = -1) {
+> +	if (free == -1) {
 > +		pr_warn("Exceeded Max IO APICS\n");
 > +		return -ENOSPC;
 > +	}
@@ -233,10 +233,10 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 >  	end = ((void *)drhd) + header->length;
 >  
 > -	while (start < end) {
-> +	while (start < end && ret = 0) {
+> +	while (start < end && ret == 0) {
 >  		scope = start;
-> -		if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC) {
-> -			if (ir_ioapic_num = MAX_IO_APICS) {
+> -		if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC) {
+> -			if (ir_ioapic_num == MAX_IO_APICS) {
 > -				printk(KERN_WARNING "Exceeded Max IO APICS\n");
 > -				return -1;
 > -			}
@@ -244,16 +244,16 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -			printk(KERN_INFO "IOAPIC id %d under DRHD base "
 > -			       " 0x%Lx IOMMU %d\n", scope->enumeration_id,
 > -			       drhd->address, iommu->seq_id);
-> +		if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC)
+> +		if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC)
 > +			ret = ir_parse_one_ioapic_scope(scope, iommu, drhd);
-> +		else if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET)
+> +		else if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET)
 > +			ret = ir_parse_one_hpet_scope(scope, iommu, drhd);
 > +		start += scope->length;
 > +	}
 >  
 > -			ir_parse_one_ioapic_scope(scope, iommu);
-> -		} else if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET) {
-> -			if (ir_hpet_num = MAX_HPET_TBS) {
+> -		} else if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET) {
+> -			if (ir_hpet_num == MAX_HPET_TBS) {
 > -				printk(KERN_WARNING "Exceeded Max HPET blocks\n");
 > -				return -1;
 > -			}
@@ -272,12 +272,12 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > -		start += scope->length;
 > -	}
 > +	for (i = 0; i < MAX_HPET_TBS; i++)
-> +		if (ir_hpet[i].iommu = iommu)
+> +		if (ir_hpet[i].iommu == iommu)
 > +			ir_hpet[i].iommu = NULL;
 >  
 > -	return 0;
 > +	for (i = 0; i < MAX_IO_APICS; i++)
-> +		if (ir_ioapic[i].iommu = iommu)
+> +		if (ir_ioapic[i].iommu == iommu)
 > +			ir_ioapic[i].iommu = NULL;
 >  }
 >  
@@ -346,7 +346,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com>
 > +
 > +	if (!irq_remapping_enabled)
 > +		return 0;
-> +	if (iommu = NULL)
+> +	if (iommu == NULL)
 > +		return -EINVAL;
 > +	if (!ecap_ir_support(iommu->ecap))
 > +		return 0;
diff --git a/a/content_digest b/N2/content_digest
index b914222..8c4500c 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -2,7 +2,7 @@
  "ref\01411103935-31301-6-git-send-email-jiang.liu@linux.intel.com\0"
  "From\0Yijing Wang <wangyijing@huawei.com>\0"
  "Subject\0Re: [Patch Part3 V6 5/8] iommu/vt-d: Enhance intel_irq_remapping driver to support DMAR unit hotplug\0"
- "Date\0Fri, 19 Sep 2014 06:49:38 +0000\0"
+ "Date\0Fri, 19 Sep 2014 14:49:38 +0800\0"
  "To\0Jiang Liu <jiang.liu@linux.intel.com>"
   Joerg Roedel <joro@8bytes.org>
   David Woodhouse <dwmw2@infradead.org>
@@ -13,11 +13,11 @@
  " Rafael J . Wysocki <rafael.j.wysocki@intel.com>\0"
  "Cc\0Ashok Raj <ashok.raj@intel.com>"
   Tony Luck <tony.luck@intel.com>
-  iommu@lists.linux-foundation.org
-  linux-pci@vger.kernel.org
-  linux-hotplug@vger.kernel.org
-  linux-kernel@vger.kernel.org
- " dmaengine@vger.kernel.org\0"
+  <iommu@lists.linux-foundation.org>
+  <linux-pci@vger.kernel.org>
+  <linux-hotplug@vger.kernel.org>
+  <linux-kernel@vger.kernel.org>
+ " <dmaengine@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
  "On 2014/9/19 13:18, Jiang Liu wrote:\n"
@@ -48,8 +48,8 @@
  ">  \tint i;\n"
  ">  \n"
  ">  \tfor (i = 0; i < MAX_HPET_TBS; i++)\n"
- "> -\t\tif (ir_hpet[i].id = hpet_id)\n"
- "> +\t\tif (ir_hpet[i].id = hpet_id && ir_hpet[i].iommu)\n"
+ "> -\t\tif (ir_hpet[i].id == hpet_id)\n"
+ "> +\t\tif (ir_hpet[i].id == hpet_id && ir_hpet[i].iommu)\n"
  ">  \t\t\treturn ir_hpet[i].iommu;\n"
  ">  \treturn NULL;\n"
  ">  }\n"
@@ -57,8 +57,8 @@
  ">  \tint i;\n"
  ">  \n"
  ">  \tfor (i = 0; i < MAX_IO_APICS; i++)\n"
- "> -\t\tif (ir_ioapic[i].id = apic)\n"
- "> +\t\tif (ir_ioapic[i].id = apic && ir_ioapic[i].iommu)\n"
+ "> -\t\tif (ir_ioapic[i].id == apic)\n"
+ "> +\t\tif (ir_ioapic[i].id == apic && ir_ioapic[i].iommu)\n"
  ">  \t\t\treturn ir_ioapic[i].iommu;\n"
  ">  \treturn NULL;\n"
  ">  }\n"
@@ -66,8 +66,8 @@
  ">  \n"
  ">  \tdown_read(&dmar_global_lock);\n"
  ">  \tfor (i = 0; i < MAX_IO_APICS; i++) {\n"
- "> -\t\tif (ir_ioapic[i].id = apic) {\n"
- "> +\t\tif (ir_ioapic[i].iommu && ir_ioapic[i].id = apic) {\n"
+ "> -\t\tif (ir_ioapic[i].id == apic) {\n"
+ "> +\t\tif (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) {\n"
  ">  \t\t\tsid = (ir_ioapic[i].bus << 8) | ir_ioapic[i].devfn;\n"
  ">  \t\t\tbreak;\n"
  ">  \t\t}\n"
@@ -75,8 +75,8 @@
  ">  \n"
  ">  \tdown_read(&dmar_global_lock);\n"
  ">  \tfor (i = 0; i < MAX_HPET_TBS; i++) {\n"
- "> -\t\tif (ir_hpet[i].id = id) {\n"
- "> +\t\tif (ir_hpet[i].iommu && ir_hpet[i].id = id) {\n"
+ "> -\t\tif (ir_hpet[i].id == id) {\n"
+ "> +\t\tif (ir_hpet[i].iommu && ir_hpet[i].id == id) {\n"
  ">  \t\t\tsid = (ir_hpet[i].bus << 8) | ir_hpet[i].devfn;\n"
  ">  \t\t\tbreak;\n"
  ">  \t\t}\n"
@@ -176,13 +176,13 @@
  "> -\tir_hpet_num++;\n"
  "> +\n"
  "> +\tfor (count = 0; count < MAX_HPET_TBS; count++) {\n"
- "> +\t\tif (ir_hpet[count].iommu = iommu &&\n"
- "> +\t\t    ir_hpet[count].id = scope->enumeration_id)\n"
+ "> +\t\tif (ir_hpet[count].iommu == iommu &&\n"
+ "> +\t\t    ir_hpet[count].id == scope->enumeration_id)\n"
  "> +\t\t\treturn 0;\n"
- "> +\t\telse if (ir_hpet[count].iommu = NULL && free = -1)\n"
+ "> +\t\telse if (ir_hpet[count].iommu == NULL && free == -1)\n"
  "> +\t\t\tfree = count;\n"
  "> +\t}\n"
- "> +\tif (free = -1) {\n"
+ "> +\tif (free == -1) {\n"
  "> +\t\tpr_warn(\"Exceeded Max HPET blocks\\n\");\n"
  "> +\t\treturn -ENOSPC;\n"
  "> +\t}\n"
@@ -220,13 +220,13 @@
  "> -\tir_ioapic[ir_ioapic_num].id    = scope->enumeration_id;\n"
  "> -\tir_ioapic_num++;\n"
  "> +\tfor (count = 0; count < MAX_IO_APICS; count++) {\n"
- "> +\t\tif (ir_ioapic[count].iommu = iommu &&\n"
- "> +\t\t    ir_ioapic[count].id = scope->enumeration_id)\n"
+ "> +\t\tif (ir_ioapic[count].iommu == iommu &&\n"
+ "> +\t\t    ir_ioapic[count].id == scope->enumeration_id)\n"
  "> +\t\t\treturn 0;\n"
- "> +\t\telse if (ir_ioapic[count].iommu = NULL && free = -1)\n"
+ "> +\t\telse if (ir_ioapic[count].iommu == NULL && free == -1)\n"
  "> +\t\t\tfree = count;\n"
  "> +\t}\n"
- "> +\tif (free = -1) {\n"
+ "> +\tif (free == -1) {\n"
  "> +\t\tpr_warn(\"Exceeded Max IO APICS\\n\");\n"
  "> +\t\treturn -ENOSPC;\n"
  "> +\t}\n"
@@ -255,10 +255,10 @@
  ">  \tend = ((void *)drhd) + header->length;\n"
  ">  \n"
  "> -\twhile (start < end) {\n"
- "> +\twhile (start < end && ret = 0) {\n"
+ "> +\twhile (start < end && ret == 0) {\n"
  ">  \t\tscope = start;\n"
- "> -\t\tif (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC) {\n"
- "> -\t\t\tif (ir_ioapic_num = MAX_IO_APICS) {\n"
+ "> -\t\tif (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC) {\n"
+ "> -\t\t\tif (ir_ioapic_num == MAX_IO_APICS) {\n"
  "> -\t\t\t\tprintk(KERN_WARNING \"Exceeded Max IO APICS\\n\");\n"
  "> -\t\t\t\treturn -1;\n"
  "> -\t\t\t}\n"
@@ -266,16 +266,16 @@
  "> -\t\t\tprintk(KERN_INFO \"IOAPIC id %d under DRHD base \"\n"
  "> -\t\t\t       \" 0x%Lx IOMMU %d\\n\", scope->enumeration_id,\n"
  "> -\t\t\t       drhd->address, iommu->seq_id);\n"
- "> +\t\tif (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_IOAPIC)\n"
+ "> +\t\tif (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_IOAPIC)\n"
  "> +\t\t\tret = ir_parse_one_ioapic_scope(scope, iommu, drhd);\n"
- "> +\t\telse if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET)\n"
+ "> +\t\telse if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET)\n"
  "> +\t\t\tret = ir_parse_one_hpet_scope(scope, iommu, drhd);\n"
  "> +\t\tstart += scope->length;\n"
  "> +\t}\n"
  ">  \n"
  "> -\t\t\tir_parse_one_ioapic_scope(scope, iommu);\n"
- "> -\t\t} else if (scope->entry_type = ACPI_DMAR_SCOPE_TYPE_HPET) {\n"
- "> -\t\t\tif (ir_hpet_num = MAX_HPET_TBS) {\n"
+ "> -\t\t} else if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_HPET) {\n"
+ "> -\t\t\tif (ir_hpet_num == MAX_HPET_TBS) {\n"
  "> -\t\t\t\tprintk(KERN_WARNING \"Exceeded Max HPET blocks\\n\");\n"
  "> -\t\t\t\treturn -1;\n"
  "> -\t\t\t}\n"
@@ -294,12 +294,12 @@
  "> -\t\tstart += scope->length;\n"
  "> -\t}\n"
  "> +\tfor (i = 0; i < MAX_HPET_TBS; i++)\n"
- "> +\t\tif (ir_hpet[i].iommu = iommu)\n"
+ "> +\t\tif (ir_hpet[i].iommu == iommu)\n"
  "> +\t\t\tir_hpet[i].iommu = NULL;\n"
  ">  \n"
  "> -\treturn 0;\n"
  "> +\tfor (i = 0; i < MAX_IO_APICS; i++)\n"
- "> +\t\tif (ir_ioapic[i].iommu = iommu)\n"
+ "> +\t\tif (ir_ioapic[i].iommu == iommu)\n"
  "> +\t\t\tir_ioapic[i].iommu = NULL;\n"
  ">  }\n"
  ">  \n"
@@ -368,7 +368,7 @@
  "> +\n"
  "> +\tif (!irq_remapping_enabled)\n"
  "> +\t\treturn 0;\n"
- "> +\tif (iommu = NULL)\n"
+ "> +\tif (iommu == NULL)\n"
  "> +\t\treturn -EINVAL;\n"
  "> +\tif (!ecap_ir_support(iommu->ecap))\n"
  "> +\t\treturn 0;\n"
@@ -398,4 +398,4 @@
  "Thanks!\n"
  Yijing
 
-e8ee28e3854ab2e3d217f3052fd4efd0df61f4afb715a8480fff9586edf5c71c
+745a878078615fe780ff0351329e84bd9bf195289cd3cb8ba5c2f21ce84f861c

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.