diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2014-03-12 20:53:39 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2014-03-12 20:57:55 -0400 |
commit | a7c58146cf9a782113629021ba5420582fef265e (patch) | |
tree | 605daa5c14e9b9f343a0fc6061bedd9623c4f62a | |
parent | 1f74ef0f2d7d692fcd615621e0e734c3e7771413 (diff) |
virtio_net: don't crash if virtqueue is broken.
A bad implementation of virtio might cause us to mark the virtqueue
broken: we'll dev_err() in that case, and the device is useless, but
let's not BUG_ON().
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r-- | drivers/net/virtio_net.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 5632a99cbbd2..274e99722e35 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c | |||
@@ -938,7 +938,7 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, | |||
938 | sgs[out_num] = &stat; | 938 | sgs[out_num] = &stat; |
939 | 939 | ||
940 | BUG_ON(out_num + 1 > ARRAY_SIZE(sgs)); | 940 | BUG_ON(out_num + 1 > ARRAY_SIZE(sgs)); |
941 | BUG_ON(virtqueue_add_sgs(vi->cvq, sgs, out_num, 1, vi, GFP_ATOMIC) < 0); | 941 | virtqueue_add_sgs(vi->cvq, sgs, out_num, 1, vi, GFP_ATOMIC); |
942 | 942 | ||
943 | if (unlikely(!virtqueue_kick(vi->cvq))) | 943 | if (unlikely(!virtqueue_kick(vi->cvq))) |
944 | return status == VIRTIO_NET_OK; | 944 | return status == VIRTIO_NET_OK; |