On 31/05/2017 19:34, Bjorn Helgaas wrote: > On Wed, May 31, 2017 at 04:18:44PM +0200, Mason wrote: > >> For the record, below is the patch I had in mind: >> >> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c >> index 8a3e872798f3..edfc95575a37 100644 >> --- a/kernel/irq/msi.c >> +++ b/kernel/irq/msi.c >> @@ -91,9 +91,11 @@ int msi_domain_set_affinity(struct irq_data *irq_data, >> { >> struct irq_data *parent = irq_data->parent_data; >> struct msi_msg msg; >> - int ret; >> + int ret = -EINVAL; >> + >> + if (parent->chip->irq_set_affinity) >> + ret = parent->chip->irq_set_affinity(parent, mask, force); >> >> - ret = parent->chip->irq_set_affinity(parent, mask, force); >> if (ret >= 0 && ret != IRQ_SET_MASK_OK_DONE) { >> BUG_ON(irq_chip_compose_msi_msg(irq_data, &msg)); >> irq_chip_write_msi_msg(irq_data, &msg); >> >> >> >> Then, it would be safe to remove "do-nothing" .irq_set_affinity >> callbacks in drivers/pci/host > > I assume it's obvious that nobody else is going to take this and run > with it, so nothing will happen with this unless you finish it up by > doing the cleanup (removing the "do-nothing" callbacks) and adding a > changelog and signed-off-by. Smirk. > This would be more an IRQ patch than a PCI patch, but if I were > reviewing it, I would look for assurance that *all* the no-op > .irq_set_affinity callbacks were cleaned up, not just those in > drivers/pci/host. Are you saying the patch is *wrong* if not all "do-nothing" callbacks are cleaned up? Regards.