On 2014/9/10 20:36, David Vrabel wrote: > On 05/09/14 11:09, Yijing Wang wrote: >> Commit 0e4ccb150 added two __weak arch functions arch_msix_mask_irq() >> and arch_msi_mask_irq() to fix a bug found when running xen in x86. >> Introduced these two funcntions make MSI code complex. And mask/unmask >> is the irq actions related to interrupt controller, should not use >> weak arch functions to override mask/unmask interfaces. This patch >> reverted commit 0e4ccb150 and export struct irq_chip msi_chip, modify >> msi_chip->irq_mask/irq_unmask() in xen init functions to fix this >> bug for simplicity. Also this is preparation for using struct >> msi_chip instead of weak arch MSI functions in all platforms. > > Acked-by: David Vrabel <david.vrabel@xxxxxxxxxx> > > But I wonder if it would be better the Xen subsystem to provide its own > struct irq_chip instead of adjusting the fields in the generic x86 one. Thanks! Currently, Xen and the bare x86 system only have the different irq_chip->irq_mask/irq_unmask. So I chose to override the two ops of bare x86 irq_chip in xen. Konrad Rzeszutek Wilk has been tested it ok in his platform, so I think we could use its own irq_chip for xen later if the difference become large. Thanks! Yijing. > > David > > . > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html