• Michael S. Tsirkin's avatar
    virtio_console: free buffers after reset · a7a69ec0
    Michael S. Tsirkin authored
    Console driver is out of spec. The spec says:
    	A driver MUST NOT decrement the available idx on a live
    	virtqueue (ie. there is no way to “unexpose” buffers).
    and it does exactly that by trying to detach unused buffers
    without doing a device reset first.
    
    Defer detaching the buffers until device unplug.
    
    Of course this means we might get an interrupt for
    a vq without an attached port now. Handle that by
    discarding the consumed buffer.
    Reported-by: default avatarTiwei Bie <tiwei.bie@intel.com>
    Fixes: b3258ff1 ("virtio: Decrement avail idx on buffer detach")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    a7a69ec0
virtio_console.c 56.3 KB