Fix the transmission return size because not all bytes could be
transmitted successfully. So, return a successful length instead of a
constant value.
Signed-off-by: Fea.Wang <fea.wang@sifive.com>
---
hw/net/xilinx_axienet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c
index 7d1fd37b4a..05d41bd548 100644
--- a/hw/net/xilinx_axienet.c
+++ b/hw/net/xilinx_axienet.c
@@ -847,7 +847,7 @@ static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
axienet_eth_rx_notify(s);
enet_update_irq(s);
- return size;
+ return s->rxpos;
}
static size_t
--
2.34.1
Reviewed-by: Frank Chang <frank.chang@sifive.com> Fea.Wang <fea.wang@sifive.com> 於 2024年6月3日 週一 下午1:48寫道: > > Fix the transmission return size because not all bytes could be > transmitted successfully. So, return a successful length instead of a > constant value. > > Signed-off-by: Fea.Wang <fea.wang@sifive.com> > --- > hw/net/xilinx_axienet.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c > index 7d1fd37b4a..05d41bd548 100644 > --- a/hw/net/xilinx_axienet.c > +++ b/hw/net/xilinx_axienet.c > @@ -847,7 +847,7 @@ static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size) > axienet_eth_rx_notify(s); > > enet_update_irq(s); > - return size; > + return s->rxpos; > } > > static size_t > -- > 2.34.1 > >
On Mon, Jun 3, 2024 at 7:48 AM Fea.Wang <fea.wang@sifive.com> wrote: > Fix the transmission return size because not all bytes could be > transmitted successfully. So, return a successful length instead of a > constant value. > > How did you test this patch, on Linux or something else? I have some memory that we had some trouble with similar patches before. Anyway, the change looks good to me: Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> > Signed-off-by: Fea.Wang <fea.wang@sifive.com> > --- > hw/net/xilinx_axienet.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c > index 7d1fd37b4a..05d41bd548 100644 > --- a/hw/net/xilinx_axienet.c > +++ b/hw/net/xilinx_axienet.c > @@ -847,7 +847,7 @@ static ssize_t eth_rx(NetClientState *nc, const > uint8_t *buf, size_t size) > axienet_eth_rx_notify(s); > > enet_update_irq(s); > - return size; > + return s->rxpos; > } > > static size_t > -- > 2.34.1 > >
I just encountered this issue when running Linux, and the trouble will be fixed after the patches. So I think they work. Sincerely, Fea On Mon, Jun 3, 2024 at 6:31 PM Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > On Mon, Jun 3, 2024 at 7:48 AM Fea.Wang <fea.wang@sifive.com> wrote: > >> Fix the transmission return size because not all bytes could be >> transmitted successfully. So, return a successful length instead of a >> constant value. >> >> > How did you test this patch, on Linux or something else? I have some > memory that we had some trouble with similar patches before. > > Anyway, the change looks good to me: > Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> > > > >> Signed-off-by: Fea.Wang <fea.wang@sifive.com> >> --- >> hw/net/xilinx_axienet.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c >> index 7d1fd37b4a..05d41bd548 100644 >> --- a/hw/net/xilinx_axienet.c >> +++ b/hw/net/xilinx_axienet.c >> @@ -847,7 +847,7 @@ static ssize_t eth_rx(NetClientState *nc, const >> uint8_t *buf, size_t size) >> axienet_eth_rx_notify(s); >> >> enet_update_irq(s); >> - return size; >> + return s->rxpos; >> } >> >> static size_t >> -- >> 2.34.1 >> >>
© 2016 - 2026 Red Hat, Inc.