[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.5] eepro100: Prevent two endless loops
From: |
P J P |
Subject: |
Re: [Qemu-devel] [PATCH for-2.5] eepro100: Prevent two endless loops |
Date: |
Fri, 20 Nov 2015 14:09:19 +0530 (IST) |
+-- On Fri, 20 Nov 2015, Stefan Weil wrote --+
| diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c
| index 60333b7..685a478 100644
| --- a/hw/net/eepro100.c
| +++ b/hw/net/eepro100.c
| @@ -774,6 +774,11 @@ static void tx_command(EEPRO100State *s)
| #if 0
| uint16_t tx_buffer_el = lduw_le_pci_dma(&s->dev, tbd_address + 6);
| #endif
| + if (tx_buffer_size == 0) {
| + /* Prevent an endless loop. */
| + logout("loop in %s:%u\n", __FILE__, __LINE__);
| + break;
| + }
Yes, looks good. Where is 'lduw_le_pci_dma' routine defined?
| static void action_command(EEPRO100State *s)
| {
| + /* The loop below won't stop if it gets special handcrafted data.
| + Therefore we limit the number of iterations. */
| + unsigned max_loop_count = 16;
| +
Is '16' a lower count for the command list? Earilier Jason mentioned 256.
Not sure what is an ideal count.
Thank you.
--
- P J P
47AF CE69 3A90 54AA 9045 1053 DD13 3D32 FE5B 041F