Re: [PATCH v3 0/3] Allow SoundWire devices to communicate during remove

From: Charles Keepax

Date: Wed Oct 14 2026 - 12:42:52 EST


On Mon, Oct 12, 2026 at 11:55:37AM +0100, Charles Keepax wrote:
> Currently on Intel systems SoundWire drivers can't communicate with the
> device during driver removal. This is primarily because the IRQs are
> disabled before the driver remove callback is run. The result of this is
> such transactions timeout causing a) a lot of errors in the log and b)
> driver remove to take a very long time.
>
> This issue affects cs42l43 and cs42l45, primarily due to both using
> regmap IRQ.
>
> soundwire_intel soundwire_intel.link.0: IO transfer timed out, cmd 3 device 6 addr 5d len 1
> soundwire sdw-master-0-0: trf on Slave 6 failed:-110 write addr 5d count 0
> sdca_class sdw:0:0:01fa:4245:01: Failed to sync masks in 5d
>
> As regmap IRQ is torn down it will mask the interrupts that are
> removed. However, there are many valid reasons a driver might want
> communicate with the device during removal, others would include
> disabling jack detection, putting the device into the lowest possible
> power state to save power, etc.
>
> This patch set attempts to address this problem trying to locate the
> reason interrupts are disabled, fixing that and then leaving the IRQs
> enabled for the remove callback.

Apologies, but I might have come up with a slightly better fix
here. Please don't merge this version and I will report back in a
few days.

Thanks,
Charles