[oe-commits] Richard Purdie : qemu: Test smc fix

git at git.openembedded.org git at git.openembedded.org
Sun Sep 6 14:27:51 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: adb5e30f0b59b673a96d961064070c5954b14570
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=adb5e30f0b59b673a96d961064070c5954b14570

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Sun Sep  6 14:22:38 2015 +0000

qemu: Test smc fix

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-devtools/qemu/qemu/smcfix.patch | 37 ++++++++++++++++++++++++++++
 meta/recipes-devtools/qemu/qemu_2.4.0.bb     |  1 +
 2 files changed, 38 insertions(+)

diff --git a/meta/recipes-devtools/qemu/qemu/smcfix.patch b/meta/recipes-devtools/qemu/qemu/smcfix.patch
new file mode 100644
index 0000000..4c0a85d
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/smcfix.patch
@@ -0,0 +1,37 @@
+Index: qemu-2.4.0/hw/net/smc91c111.c
+===================================================================
+--- qemu-2.4.0.orig/hw/net/smc91c111.c
++++ qemu-2.4.0/hw/net/smc91c111.c
+@@ -185,7 +185,6 @@ static void smc91c111_release_packet(smc
+     s->allocated &= ~(1 << packet);
+     if (s->tx_alloc == 0x80)
+         smc91c111_tx_alloc(s);
+-    qemu_flush_queued_packets(qemu_get_queue(s->nic));
+ }
+ 
+ /* Flush the TX FIFO.  */
+@@ -237,9 +236,11 @@ static void smc91c111_do_tx(smc91c111_st
+             }
+         }
+ #endif
+-        if (s->ctr & CTR_AUTO_RELEASE)
++        if (s->ctr & CTR_AUTO_RELEASE) {
+             /* Race?  */
+             smc91c111_release_packet(s, packetnum);
++            qemu_flush_queued_packets(qemu_get_queue(s->nic));
++        }
+         else if (s->tx_fifo_done_len < NUM_PACKETS)
+             s->tx_fifo_done[s->tx_fifo_done_len++] = packetnum;
+         qemu_send_packet(qemu_get_queue(s->nic), p, len);
+@@ -379,9 +380,11 @@ static void smc91c111_writeb(void *opaqu
+                     smc91c111_release_packet(s, s->rx_fifo[0]);
+                 }
+                 smc91c111_pop_rx_fifo(s);
++                qemu_flush_queued_packets(qemu_get_queue(s->nic));
+                 break;
+             case 5: /* Release.  */
+                 smc91c111_release_packet(s, s->packet_num);
++                qemu_flush_queued_packets(qemu_get_queue(s->nic));
+                 break;
+             case 6: /* Add to TX FIFO.  */
+                 smc91c111_queue_tx(s, s->packet_num);
diff --git a/meta/recipes-devtools/qemu/qemu_2.4.0.bb b/meta/recipes-devtools/qemu/qemu_2.4.0.bb
index 4d550e0..4dcaa7d 100644
--- a/meta/recipes-devtools/qemu/qemu_2.4.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_2.4.0.bb
@@ -7,6 +7,7 @@ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \
             file://qemu-enlarge-env-entry-size.patch \
             file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
             file://smcassert.patch \
+            file://smcfix.patch \
            "
 SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
 SRC_URI[md5sum] = "186ee8194140a484a455f8e3c74589f4"



More information about the Openembedded-commits mailing list