On Wed, Aug 27, 2025 at 06:21:28AM -0400, Michael S. Tsirkin wrote:
On Tue, Aug 26, 2025 at 06:52:11PM +0000, Parav Pandit wrote:
If it does not, and a user pull out the working device, how does your patch help?
A driver must tell that it will not follow broken ancient behaviour and at that
point device would stop its ancient backward compatibility mode.
I don't know what is "ancient backward compatibility mode".
Let me explain. Sadly, CSPs virtio pci device implementation is done such a way that, it works with ancient Linux kernel which does not have commit 43bb40c5b9265.
OK we are getting new information here.
So let me summarize. There's a virtual system that pretends, to the guest, that device was removed by surprise removal, but actually device is there and is still doing DMA. Is that a fair summary?
If that is the case, the thing to do would be to try and detect the fake removal and then work with device as usual - device not doing DMA after removal is pretty fundamental, after all.
For example, how about reading device control+status?
If we get all ones device has been removed If we get 0 in bus master: device has been removed but re-inserted Anything else is a fake removal
Hmm?
-- MST