aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@web.de>2009-09-18 20:51:22 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-05 09:32:43 -0500
commit2e87c5b937444c1155073f7b10d630e0e383e5d8 (patch)
tree7074a093df1a49bee4a0ecb2647df84e16ecc351
parent0cb892aa268c31a4b082a83e46b422332ea28244 (diff)
downloadqemu-2e87c5b937444c1155073f7b10d630e0e383e5d8.zip
qemu-2e87c5b937444c1155073f7b10d630e0e383e5d8.tar.gz
qemu-2e87c5b937444c1155073f7b10d630e0e383e5d8.tar.bz2
musicpal: Catch null TX qeueues
They likely represent invalid queues that should be skipped. We already do this for RX queues. Wish I had a spec... Credits go to malc for analyzing the issue and suggesting this fix. Signed-off-by: Jan Kiszka <jan.kiszka@web.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--hw/musicpal.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/musicpal.c b/hw/musicpal.c
index 1c4f17c..c8f0235 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -238,7 +238,9 @@ static void eth_send(mv88w8618_eth_state *s, int queue_index)
uint8_t buf[2048];
int len;
-
+ if (!desc_addr) {
+ return;
+ }
do {
eth_tx_desc_get(desc_addr, &desc);
if (desc.cmdstat & MP_ETH_TX_OWN) {