hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/arch/x86/kernel/apic/msi.c
....@@ -181,7 +181,8 @@
181181 .irq_retrigger = irq_chip_retrigger_hierarchy,
182182 .irq_set_affinity = msi_set_affinity,
183183 .flags = IRQCHIP_SKIP_SET_WAKE |
184
- IRQCHIP_AFFINITY_PRE_STARTUP,
184
+ IRQCHIP_AFFINITY_PRE_STARTUP |
185
+ IRQCHIP_PIPELINE_SAFE,
185186 };
186187
187188 int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
....@@ -251,7 +252,8 @@
251252 .irq_ack = irq_chip_ack_parent,
252253 .irq_retrigger = irq_chip_retrigger_hierarchy,
253254 .flags = IRQCHIP_SKIP_SET_WAKE |
254
- IRQCHIP_AFFINITY_PRE_STARTUP,
255
+ IRQCHIP_AFFINITY_PRE_STARTUP |
256
+ IRQCHIP_PIPELINE_SAFE,
255257 };
256258
257259 static struct msi_domain_info pci_msi_ir_domain_info = {
....@@ -294,7 +296,8 @@
294296 .irq_retrigger = irq_chip_retrigger_hierarchy,
295297 .irq_write_msi_msg = dmar_msi_write_msg,
296298 .flags = IRQCHIP_SKIP_SET_WAKE |
297
- IRQCHIP_AFFINITY_PRE_STARTUP,
299
+ IRQCHIP_AFFINITY_PRE_STARTUP |
300
+ IRQCHIP_PIPELINE_SAFE,
298301 };
299302
300303 static int dmar_msi_init(struct irq_domain *domain,
....@@ -386,7 +389,8 @@
386389 .irq_set_affinity = msi_domain_set_affinity,
387390 .irq_retrigger = irq_chip_retrigger_hierarchy,
388391 .irq_write_msi_msg = hpet_msi_write_msg,
389
- .flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_AFFINITY_PRE_STARTUP,
392
+ .flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_AFFINITY_PRE_STARTUP |
393
+ IRQCHIP_PIPELINE_SAFE,
390394 };
391395
392396 static int hpet_msi_init(struct irq_domain *domain,