On Wed, Dec 04, 2024 at 12:14:25AM +0100, Thomas Gleixner wrote: > On Tue, Dec 03 2024 at 16:40, Frank Li wrote: > > On Tue, Dec 03, 2024 at 10:12:36PM +0100, Thomas Gleixner wrote: > >> Sure, but that's not a fix and not required for stable because no > >> existing driver is affected by this unless I'm missing something. > >> > >> What's the actual use case for this? You describe in great length what > >> fails, which is nice, but I'm missing the larger picture here. > > > > PCI host send a door bell to PCI endpoint, which use platform msi to > > trigger a IRQ. > > > > PCI Host side PCI endpoint side > > > > Send "enable" command -> call platform_device_msi_init_and_alloc_irqs() > > Get doorbell address <- send back MSI address by shared memory > > Write data to doorbell -> MSI irq handler triggered. > > Send "Disable" command -> call platform_device_msi_free_irqs_all() > > > > > > At endpoint side, need dymatic response "enable/disable" commands. Of > > course, I can call msi_remove_device_irq_domain() in my disable function. > > But I think it should be symetic in alloc/free pair functions. > > No objections, but that's not a justification for a stable backport as > nothing in tree has this problem right now. You add a new use case which > requires it, so only that new use case has this dependency, no? Okay, Let me drop fixes and stable tag in next version. Frank > > Thanks, > > tglx