All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Eric Blake" <eblake@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Bandan Das" <bsd@redhat.com>,
	"Alexander Bulekov" <alxndr@bu.edu>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"Darren Kenny" <darren.kenny@oracle.com>,
	"Qiuhao Li" <Qiuhao.Li@outlook.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Akihiko Odaki" <akihiko.odaki@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Alexandre Ratchov" <alex@caoua.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Michael Brown" <mcb30@ipxe.org>
Subject: [PULL 17/25] usbnet: Add missing usb_wakeup() call in usbnet_receive()
Date: Mon, 26 Sep 2022 11:55:01 +0200	[thread overview]
Message-ID: <20220926095509.3759409-18-kraxel@redhat.com> (raw)
In-Reply-To: <20220926095509.3759409-1-kraxel@redhat.com>

From: Michael Brown <mcb30@ipxe.org>

usbnet_receive() does not currently wake up the USB endpoint, leading
to a dead RX datapath when used with a host controller such as xHCI
that relies on being woken up.

Fix by adding a call to usb_wakeup() at the end of usbnet_receive().

Signed-off-by: Michael Brown <mcb30@ipxe.org>
Message-Id: <20220906183053.3625472-2-mcb30@ipxe.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/dev-network.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
index 6c49c16015e0..61bf598870cb 100644
--- a/hw/usb/dev-network.c
+++ b/hw/usb/dev-network.c
@@ -647,6 +647,7 @@ struct USBNetState {
     uint8_t in_buf[2048];
 
     USBEndpoint *intr;
+    USBEndpoint *bulk_in;
 
     char usbstring_mac[13];
     NICState *nic;
@@ -1317,6 +1318,7 @@ static ssize_t usbnet_receive(NetClientState *nc, const uint8_t *buf, size_t siz
     memcpy(in_buf, buf, size);
     s->in_len = total_size;
     s->in_ptr = 0;
+    usb_wakeup(s->bulk_in, 0);
     return size;
 }
 
@@ -1359,6 +1361,7 @@ static void usb_net_realize(USBDevice *dev, Error **errp)
     s->filter = 0;
     s->vendorid = 0x1234;
     s->intr = usb_ep_get(dev, USB_TOKEN_IN, 1);
+    s->bulk_in = usb_ep_get(dev, USB_TOKEN_IN, 2);
 
     qemu_macaddr_default_if_unset(&s->conf.macaddr);
     s->nic = qemu_new_nic(&net_usbnet_info, &s->conf,
-- 
2.37.3



  parent reply	other threads:[~2022-09-26 10:21 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-26  9:54 [PULL 00/25] Kraxel 20220926 patches Gerd Hoffmann
2022-09-26  9:54 ` [PULL 01/25] ui/console: Get tab completion working again in the SDL monitor vc Gerd Hoffmann
2022-09-26  9:54 ` [PULL 02/25] ui/cocoa: Run qemu_init in the main thread Gerd Hoffmann
2022-09-26  9:54 ` [PULL 03/25] Revert "main-loop: Disable block backend global state assertion on Cocoa" Gerd Hoffmann
2022-09-26  9:54 ` [PULL 04/25] meson: Allow to enable gtk and sdl while cocoa is enabled Gerd Hoffmann
2022-09-26  9:54 ` [PULL 05/25] ui: add some vdagent related traces Gerd Hoffmann
2022-09-26  9:54 ` [PULL 06/25] ui/clipboard: fix serial priority Gerd Hoffmann
2022-09-26  9:54 ` [PULL 07/25] ui/vdagent: always reset the clipboard serial on caps Gerd Hoffmann
2022-09-26  9:54 ` [PULL 08/25] ui/clipboard: reset the serial state on reset Gerd Hoffmann
2022-09-26  9:54 ` [PULL 09/25] ui/vdagent: fix serial reset of guest agent Gerd Hoffmann
2022-09-26  9:54 ` [PULL 10/25] ui/console: fix three double frees in png_save() Gerd Hoffmann
2022-09-26  9:54 ` [PULL 11/25] hw/usb/hcd-xhci: Check whether DMA accesses fail Gerd Hoffmann
2022-09-26  9:54 ` [PULL 12/25] hcd-ohci: Drop ohci_service_iso_td() if ed->head & OHCI_DPTR_MASK is zero Gerd Hoffmann
2022-09-26  9:54 ` [PULL 13/25] hcd-ohci: Fix inconsistency when resetting ohci root hubs Gerd Hoffmann
2022-09-27  1:11   ` Stefan Hajnoczi
2022-09-28 12:24     ` Qiang Liu
2023-02-15 13:45       ` Qiang Liu
2023-02-15 14:34         ` Stefan Hajnoczi
2023-02-15 16:28           ` Laurent Vivier
2023-02-15 17:05             ` BALATON Zoltan
2023-02-15 16:10         ` Laurent Vivier
2022-09-26  9:54 ` [PULL 14/25] usb/msd: move usb_msd_packet_complete() Gerd Hoffmann
2022-09-26  9:54 ` [PULL 15/25] usb/msd: add usb_msd_fatal_error() and fix guest-triggerable assert Gerd Hoffmann
2022-09-26  9:55 ` [PULL 16/25] hcd-xhci: drop operation with secondary stream arrays enabled Gerd Hoffmann
2022-09-26  9:55 ` Gerd Hoffmann [this message]
2022-09-26  9:55 ` [PULL 18/25] usbnet: Accept mandatory USB_CDC_SET_ETHERNET_PACKET_FILTER request Gerd Hoffmann
2022-09-26  9:55 ` [PULL 19/25] usbnet: Detect short packets as sent by the xHCI controller Gerd Hoffmann
2022-09-26  9:55 ` [PULL 20/25] usbnet: Report link-up via interrupt endpoint in CDC-ECM mode Gerd Hoffmann
2022-09-26  9:55 ` [PULL 21/25] audio: Add sndio backend Gerd Hoffmann
2022-09-26  9:55 ` [PULL 22/25] Revert "audio: Log context for audio bug" Gerd Hoffmann
2022-09-26  9:55 ` [PULL 23/25] audio: remove abort() in audio_bug() Gerd Hoffmann
2022-09-26  9:55 ` [PULL 24/25] hw/display/ati_2d: Fix buffer overflow in ati_2d_blt (CVE-2021-3638) Gerd Hoffmann
2022-09-26  9:55 ` [PULL 25/25] virtio-gpu: update scanout if there is any area covered by the rect Gerd Hoffmann
2022-09-27  1:12 ` [PULL 00/25] Kraxel 20220926 patches Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220926095509.3759409-18-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=Qiuhao.Li@outlook.com \
    --cc=akihiko.odaki@gmail.com \
    --cc=alex@caoua.org \
    --cc=alxndr@bu.edu \
    --cc=armbru@redhat.com \
    --cc=bsd@redhat.com \
    --cc=darren.kenny@oracle.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=lvivier@redhat.com \
    --cc=mcb30@ipxe.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.