|
@@ -825,7 +825,8 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,
|
|
|
/* Spin for a response, the kick causes an ioport write, trapping
|
|
|
* into the hypervisor, so the request should be handled immediately.
|
|
|
*/
|
|
|
- while (!virtqueue_get_buf(vi->cvq, &tmp))
|
|
|
+ while (!virtqueue_get_buf(vi->cvq, &tmp) &&
|
|
|
+ !virtqueue_is_broken(vi->cvq))
|
|
|
cpu_relax();
|
|
|
|
|
|
return status == VIRTIO_NET_OK;
|