|
|
@@ -400,6 +400,17 @@ static int activate_reserved(struct irq_data *irqd)
|
|
|
if (!irqd_can_reserve(irqd))
|
|
|
apicd->can_reserve = false;
|
|
|
}
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Check to ensure that the effective affinity mask is a subset
|
|
|
+ * the user supplied affinity mask, and warn the user if it is not
|
|
|
+ */
|
|
|
+ if (!cpumask_subset(irq_data_get_effective_affinity_mask(irqd),
|
|
|
+ irq_data_get_affinity_mask(irqd))) {
|
|
|
+ pr_warn("irq %u: Affinity broken due to vector space exhaustion.\n",
|
|
|
+ irqd->irq);
|
|
|
+ }
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|