On Wed, Feb 15, 2023 at 10:39 PM Laurent Vivier <lviv...@redhat.com> wrote: > > On 2/14/23 15:30, Peter Maydell wrote: > > On Tue, 14 Feb 2023 at 14:29, Peter Maydell <peter.mayd...@linaro.org> > > wrote: > >> > >> On Tue, 14 Feb 2023 at 06:11, Jason Wang <jasow...@redhat.com> wrote: > >>> > >>> The following changes since commit > >>> f670b3eec7f5d1ed8c4573ef244e7b8c6b32001b: > >>> > >>> Merge tag 'migration-20230213-pull-request' of > >>> https://gitlab.com/juan.quintela/qemu into staging (2023-02-13 11:54:05 > >>> +0000) > >>> > >>> are available in the git repository at: > >>> > >>> https://github.com/jasowang/qemu.git tags/net-pull-request > >>> > >>> for you to fetch changes up to e4b953a26da11d214f91516cb9b0542eab5afaa0: > >>> > >>> vdpa: fix VHOST_BACKEND_F_IOTLB_ASID flag check (2023-02-14 14:00:30 > >>> +0800) > >>> > >>> ---------------------------------------------------------------- > >>> > >>> ---------------------------------------------------------------- > >> > >> xlnx-can-test fails on multiple CI hosts: > >> > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767000949 > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767000974 > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767000994 > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767000970 > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767001009 > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767000851 > >> https://gitlab.com/qemu-project/qemu/-/jobs/3767000849 > > > > more specifically, it asserts: > > > > ERROR:../tests/qtest/xlnx-can-test.c:96:read_data: assertion failed > > (int_status == ISR_RXOK): (0 == 16) > > It seems the problem is with the loopback test (net/can/can_loopback). > > as fifo32_num_used() and fifo32_num_free() return the number of uint32_t > slots, the patch > should be fixed with (remove the "4 *"): > > diff --git a/hw/net/can/xlnx-zynqmp-can.c b/hw/net/can/xlnx-zynqmp-can.c > index 55d3221b4980..8a56734b3ca2 100644 > --- a/hw/net/can/xlnx-zynqmp-can.c > +++ b/hw/net/can/xlnx-zynqmp-can.c > @@ -451,7 +451,7 @@ static void transfer_fifo(XlnxZynqMPCANState *s, Fifo32 > *fifo) > } > > while (!fifo32_is_empty(fifo)) { > - if (fifo32_num_used(fifo) < (4 * CAN_FRAME_SIZE)) { > + if (fifo32_num_used(fifo) < CAN_FRAME_SIZE) { > g_autofree char *path = object_get_canonical_path(OBJECT(s)); > qemu_log_mask(LOG_GUEST_ERROR, "%s: data left in the fifo is > not" > " enough for transfer.\n", path); > @@ -470,7 +470,7 @@ static void transfer_fifo(XlnxZynqMPCANState *s, Fifo32 > *fifo) > * that it transmits. > */ > if (fifo32_is_full(&s->rx_fifo) || > - (fifo32_num_free(&s->rx_fifo) < (4 * CAN_FRAME_SIZE))) { > + (fifo32_num_free(&s->rx_fifo) < CAN_FRAME_SIZE)) { > ARRAY_FIELD_DP32(s->regs, INTERRUPT_STATUS_REGISTER, > RXOFLW, 1); > } else { > for (i = 0; i < CAN_FRAME_SIZE; i++) { > > > Thanks, > Laurent
Exactly, I will squash this and send a new pull request. Thanks >