File tree 1 file changed +6
-3
lines changed 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -129,6 +129,7 @@ int intel_svm_enable_prq(struct intel_iommu *iommu)
129
129
pr_err ("IOMMU: %s: Failed to request IRQ for page request queue\n" ,
130
130
iommu -> name );
131
131
dmar_free_hwirq (irq );
132
+ iommu -> pr_irq = 0 ;
132
133
goto err ;
133
134
}
134
135
dmar_writeq (iommu -> reg + DMAR_PQH_REG , 0ULL );
@@ -144,9 +145,11 @@ int intel_svm_finish_prq(struct intel_iommu *iommu)
144
145
dmar_writeq (iommu -> reg + DMAR_PQT_REG , 0ULL );
145
146
dmar_writeq (iommu -> reg + DMAR_PQA_REG , 0ULL );
146
147
147
- free_irq (iommu -> pr_irq , iommu );
148
- dmar_free_hwirq (iommu -> pr_irq );
149
- iommu -> pr_irq = 0 ;
148
+ if (iommu -> pr_irq ) {
149
+ free_irq (iommu -> pr_irq , iommu );
150
+ dmar_free_hwirq (iommu -> pr_irq );
151
+ iommu -> pr_irq = 0 ;
152
+ }
150
153
151
154
free_pages ((unsigned long )iommu -> prq , PRQ_ORDER );
152
155
iommu -> prq = NULL ;
You can’t perform that action at this time.
0 commit comments