[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [4225] PCnet: Allow more then two TMDs (Jan Kiszka)
From: |
Blue Swirl |
Subject: |
[Qemu-devel] [4225] PCnet: Allow more then two TMDs (Jan Kiszka) |
Date: |
Sun, 20 Apr 2008 10:59:29 +0000 |
Revision: 4225
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4225
Author: blueswir1
Date: 2008-04-20 10:59:29 +0000 (Sun, 20 Apr 2008)
Log Message:
-----------
PCnet: Allow more then two TMDs (Jan Kiszka)
Modified Paths:
--------------
trunk/hw/pcnet.c
Modified: trunk/hw/pcnet.c
===================================================================
--- trunk/hw/pcnet.c 2008-04-20 06:28:28 UTC (rev 4224)
+++ trunk/hw/pcnet.c 2008-04-20 10:59:29 UTC (rev 4225)
@@ -1249,19 +1249,18 @@
#endif
if (GET_FIELD(tmd.status, TMDS, STP)) {
s->xmit_pos = 0;
- if (!GET_FIELD(tmd.status, TMDS, ENP)) {
- int bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
- s->phys_mem_read(s->dma_opaque, PHYSADDR(s, tmd.tbadr),
- s->buffer, bcnt, CSR_BSWP(s));
- s->xmit_pos += bcnt;
- }
xmit_cxda = PHYSADDR(s,CSR_CXDA(s));
}
- if (GET_FIELD(tmd.status, TMDS, ENP) && (s->xmit_pos >= 0)) {
+ if (!GET_FIELD(tmd.status, TMDS, ENP)) {
int bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
s->phys_mem_read(s->dma_opaque, PHYSADDR(s, tmd.tbadr),
s->buffer + s->xmit_pos, bcnt, CSR_BSWP(s));
s->xmit_pos += bcnt;
+ } else if (s->xmit_pos >= 0) {
+ int bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
+ s->phys_mem_read(s->dma_opaque, PHYSADDR(s, tmd.tbadr),
+ s->buffer + s->xmit_pos, bcnt, CSR_BSWP(s));
+ s->xmit_pos += bcnt;
#ifdef PCNET_DEBUG
printf("pcnet_transmit size=%d\n", s->xmit_pos);
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [4225] PCnet: Allow more then two TMDs (Jan Kiszka),
Blue Swirl <=