Revision 07b064e9

b/hw/musicpal.c
238 238
{
239 239
    uint32_t desc_addr = s->tx_queue[queue_index];
240 240
    mv88w8618_tx_desc desc;
241
    uint32_t next_desc;
241 242
    uint8_t buf[2048];
242 243
    int len;
243 244

  
244
    if (!desc_addr) {
245
        return;
246
    }
247 245
    do {
248 246
        eth_tx_desc_get(desc_addr, &desc);
247
        next_desc = desc.next;
249 248
        if (desc.cmdstat & MP_ETH_TX_OWN) {
250 249
            len = desc.bytes;
251 250
            if (len < 2048) {
......
256 255
            s->icr |= 1 << (MP_ETH_IRQ_TXLO_BIT - queue_index);
257 256
            eth_tx_desc_put(desc_addr, &desc);
258 257
        }
259
        desc_addr = desc.next;
258
        desc_addr = next_desc;
260 259
    } while (desc_addr != s->tx_queue[queue_index]);
261 260
}
262 261

  

Also available in: Unified diff