Re: [PATCH 2/2] virtio reset support
From: Dor Laor <hidden>
Date: 2008-01-24 13:09:07
The patches really fix/simplify things :) Did you test device open->close->open? It was broken in my last test, we cad add link indications too. Besides that I also remembered that adding 'vq->num_free =vq->ring.num;' after reset fixed part of the problems, I don't remember why (gonna re-check it soon), I think it was the reset calls for (..) detach_buf for all buffers regardless if they were free already. Cheers, Dor On Thu, 2008-01-24 at 01:18 +1100, Rusty Russell wrote:
quoted hunk
diff -r f9464b21ed9c drivers/net/virtio_net.c--- a/drivers/net/virtio_net.c Wed Jan 23 23:52:47 2008 +1100 +++ b/drivers/net/virtio_net.c Thu Jan 24 00:47:05 2008 +1100@@ -415,12 +415,10 @@ static void virtnet_remove(struct virtio struct sk_buff *skb; /* Free our skbs in send and recv queues, if any. */ - vi->rvq->vq_ops->shutdown(vi->rvq); while ((skb = __skb_dequeue(&vi->recv)) != NULL) { kfree_skb(skb); vi->num--; } - vi->svq->vq_ops->shutdown(vi->svq); while ((skb = __skb_dequeue(&vi->send)) != NULL) kfree_skb(skb);