On Sat, Jan 29, 2022 at 05:47:07PM +0300, Alexander Sergeyev wrote: > But unbind-bind problems with IO_PAGE_FAULT and "out of range cmd" are not > eliminated. IO_PAGE_FAULT are often logged without accompanying "out of range > cmd". And after adding debugging printk() I haven't managed to trigger "out > of range cmd" yet. But IO_PAGE_FAULT are more easily triggered. IO_PAGE_FAULTs go away with CONFIG_IOMMU_DEFAULT_PASSTHROUGH enabled. As I understand, this leads to reduced DMA device isolation which is generally not desirable. I was initially thinking about races between some delayed code and io-memory pages unmapping, but first IO_PAGE_FAULTs (running non-passthrough iommu) happen during bind operations as well. What is also interesting, unbind & bind consistently fails on 31th bind: echo -n '0000:05:00.6' > /sys/bus/pci/drivers/snd_hda_intel/bind -bash: echo: write error: No such device And does not recover from there until a reboot.