[GIT PULL] USB driver fixes for 7.0-rc7
From: Greg KH
Date: Sun Apr 05 2026 - 04:31:25 EST
The following changes since commit f338e77383789c0cae23ca3d48adcc5e9e137e3c:
Linux 7.0-rc4 (2026-03-15 13:52:05 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git tags/usb-7.0-rc7
for you to fetch changes up to bf3781a35c27978341c31f59f1460dcaabf2e726:
Merge tag 'usb-serial-7.0-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus (2026-04-02 13:28:22 +0200)
----------------------------------------------------------------
USB/Thunderbolt fixes for 7.0-rc7
Here are a bunch of USB and Thunderbolt fixes (most all are USB) for
7.0-rc7. More than I normally like this late in the release cycle,
partly due to my recent travels, and partly due to people banging away
on the USB gadget interfaces and apis more than normal (big shoutout to
Android for getting the vendors to actually work upstream on this,
that's a huge win overall for everyone here.)
Included in here are:
- Small thunderbolt fix
- new USB serial driver ids added
- typec driver fixes
- gadget driver fixes for some disconnect issues
- other usb gadget driver fixes for reported problems with binding and
unbinding devices as happens when a gadget device connects /
disconnects from a system it is plugged into (or it switches device
mode at a user's request, these things are complex little beasts...)
- usb offload fixes (where USB audio tunnels through the controller
while the main CPU is asleep) for when EMP spikes hit the system
causing disconnects to happen (as often happens with static
electricity in the winter months). This has been much reported by
at least one vendor, and resolves the issues they have been seeing
with this codepath. Can't wait for the "formal methods are the
answer!" people to try to model that one properly...
- Other small usb driver fixes for issues reported.
All of these have been in linux-next this week, and before, with no
reported issues, and I've personally been stressing these harder than
normal on my systems here with no problems.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
----------------------------------------------------------------
Alan Stern (2):
USB: dummy-hcd: Fix locking/synchronization error
USB: dummy-hcd: Fix interrupt synchronization error
Andrei Kuchynski (2):
usb: typec: Remove alt->adev.dev.class assignment
usb: typec: thunderbolt: Set enter_vdo during initialization
Ernestas Kulik (1):
USB: serial: option: add MeiG Smart SRM825WN
Felix Gu (2):
dwc3: google: Fix PM domain leak in dwc3_google_probe()
usb: misc: usbio: Fix URB memory leak on submit failure
Frej Drejhammar (1):
USB: serial: io_edgeport: add support for Blackbox IC135A
Gabor Juhos (1):
usb: core: phy: avoid double use of 'usb3-phy'
Greg Kroah-Hartman (2):
Merge tag 'thunderbolt-for-v7.0-rc5' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-linus
Merge tag 'usb-serial-7.0-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Guan-Yu Lin (2):
usb: core: use dedicated spinlock for offload state
usb: host: xhci-sideband: delegate offload_usage tracking to class drivers
Guangshuo Li (1):
usb: ulpi: fix double free in ulpi_register_interface() error path
Heitor Alves de Siqueira (1):
usb: usbtmc: Flush anchored URBs in usbtmc_release
JP Hein (1):
USB: core: add NO_LPM quirk for Razer Kiyo Pro webcam
Jimmy Hu (1):
usb: gadget: uvc: fix NULL pointer dereference during unbind race
Juno Choi (1):
usb: dwc2: gadget: Fix spin_lock/unlock mismatch in dwc2_hsotg_udc_stop()
Justin Chen (1):
usb: ehci-brcm: fix sleep during atomic
Konrad Dybcio (1):
thunderbolt: Fix property read in nhi_wake_supported()
Kuen-Han Tsai (9):
usb: gadget: u_ether: Fix race between gether_disconnect and eth_stop
usb: gadget: u_ether: Fix NULL pointer deref in eth_get_drvinfo
usb: gadget: f_subset: Fix unbalanced refcnt in geth_free
usb: gadget: f_rndis: Protect RNDIS options with mutex
usb: gadget: u_ncm: Add kernel-doc comments for struct f_ncm_opts
usb: gadget: f_ecm: Fix net_device lifecycle with device_move
usb: gadget: f_eem: Fix net_device lifecycle with device_move
usb: gadget: f_subset: Fix net_device lifecycle with device_move
usb: gadget: f_rndis: Fix net_device lifecycle with device_move
Miao Li (1):
usb: quirks: add DELAY_INIT quirk for another Silicon Motion flash drive
Michael Zimmermann (1):
usb: gadget: f_hid: move list and spinlock inits from bind to alloc
Nathan Rebello (1):
usb: typec: ucsi: validate connector number in ucsi_notify_common()
Oliver Neukum (1):
cdc-acm: new quirk for EPSON HMD
Sebastian Urban (1):
usb: gadget: dummy_hcd: fix premature URB completion when ZLP follows partial transfer
Taegu Ha (1):
usb: gadget: f_uac1_legacy: validate control request size
Wanquan Zhong (1):
USB: serial: option: add support for Rolling Wireless RW135R-GL
Xiaolei Wang (1):
usb: dwc3: imx8mp: fix memory leak on probe failure path
Xu Yang (2):
usb: hcd: queue wakeup_work to system_freezable_wq workqueue
dt-bindings: connector: add pd-disable dependency
Yongchao Wu (2):
usb: cdns3: gadget: fix NULL pointer dereference in ep_queue
usb: cdns3: gadget: fix state inconsistency on gadget init failure
.../bindings/connector/usb-connector.yaml | 1 +
drivers/thunderbolt/nhi.c | 2 +-
drivers/usb/cdns3/cdns3-gadget.c | 4 +
drivers/usb/class/cdc-acm.c | 9 ++
drivers/usb/class/cdc-acm.h | 1 +
drivers/usb/class/usbtmc.c | 3 +
drivers/usb/common/ulpi.c | 5 +-
drivers/usb/core/driver.c | 23 +++--
drivers/usb/core/hcd.c | 2 +-
drivers/usb/core/offload.c | 102 ++++++++++++---------
drivers/usb/core/phy.c | 12 ++-
drivers/usb/core/quirks.c | 3 +
drivers/usb/core/usb.c | 1 +
drivers/usb/dwc2/gadget.c | 2 +
drivers/usb/dwc3/dwc3-google.c | 5 +-
drivers/usb/dwc3/dwc3-imx8mp.c | 2 +-
drivers/usb/gadget/function/f_ecm.c | 35 ++++---
drivers/usb/gadget/function/f_eem.c | 59 ++++++------
drivers/usb/gadget/function/f_hid.c | 19 ++--
drivers/usb/gadget/function/f_rndis.c | 49 ++++++----
drivers/usb/gadget/function/f_subset.c | 63 +++++++------
drivers/usb/gadget/function/f_uac1_legacy.c | 47 ++++++++--
drivers/usb/gadget/function/f_uvc.c | 39 +++++++-
drivers/usb/gadget/function/u_ecm.h | 21 +++--
drivers/usb/gadget/function/u_eem.h | 21 +++--
drivers/usb/gadget/function/u_ether.c | 16 ++--
drivers/usb/gadget/function/u_gether.h | 22 +++--
drivers/usb/gadget/function/u_ncm.h | 21 +++--
drivers/usb/gadget/function/u_rndis.h | 31 +++++--
drivers/usb/gadget/function/uvc.h | 3 +
drivers/usb/gadget/function/uvc_v4l2.c | 5 +-
drivers/usb/gadget/udc/dummy_hcd.c | 42 +++++----
drivers/usb/host/ehci-brcm.c | 4 +-
drivers/usb/host/xhci-sideband.c | 18 +---
drivers/usb/misc/usbio.c | 7 +-
drivers/usb/serial/io_edgeport.c | 3 +
drivers/usb/serial/io_usbvend.h | 1 +
drivers/usb/serial/option.c | 4 +
drivers/usb/typec/altmodes/thunderbolt.c | 44 ++++-----
drivers/usb/typec/class.c | 4 -
drivers/usb/typec/ucsi/ucsi.c | 9 +-
include/linux/usb.h | 10 +-
sound/usb/qcom/qc_audio_offload.c | 10 +-
43 files changed, 507 insertions(+), 277 deletions(-)