On 2020/3/4 上午6:44, Finn Thain wrote:
Hi Jason,

The patch in this pull request (since merged) differs from the patch that
I sent. In particular, the change below is missing from commit 88f632fbb1
("dp8393x: Mask EOL bit from descriptor addresses") in mainline.

--- a/hw/net/dp8393x.c
+++ b/hw/net/dp8393x.c
@@ -525,8 +525,8 @@ static void dp8393x_do_transmit_packets(dp8393xState *s)
                                   * (4 + 3 * s->regs[SONIC_TFC]),
                                 MEMTXATTRS_UNSPECIFIED, s->data,
                                 size);
-            s->regs[SONIC_CTDA] = dp8393x_get(s, width, 0) & ~0x1;
-            if (dp8393x_get(s, width, 0) & SONIC_DESC_EOL) {
+            s->regs[SONIC_CTDA] = dp8393x_get(s, width, 0);
+            if (s->regs[SONIC_CTDA] & SONIC_DESC_EOL) {
                  /* EOL detected */
                  break;
              }

Please compare with "[PATCH v4 01/14] dp8393x: Mask EOL bit from
descriptor addresses" in the mailing list archives:
https://lore.kernel.org/qemu-devel/d6e8d06ad4d02f4a30c4caa6001967f806f21a1a.1580290069.git.fth...@telegraphics.com.au/

It appears that this portion of my patch went missing when merge conflicts
were resolved. The conflicts were apparently caused by commit 19f7034773
("Avoid address_space_rw() with a constant is_write argument").

Regards,
Finn


Exactly.

Please send a patch to fix this.

Thanks


Reply via email to