Linux 5.14.3
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 14 -SUBLEVEL = 2 +SUBLEVEL = 3 EXTRAVERSION = NAME = Opossums on Parade
arch/x86/kernel/reboot.c +2 -1
@@ -388,10 +388,11 @@ static const struct dmi_system_id reboot_dmi_table[] __initconst = { }, {/* Handle problems with rebooting on the OptiPlex 990. */ .callback = set_pci_reboot, - .ident = "Dell OptiPlex 990", + .ident = "Dell OptiPlex 990 BIOS A0x", .matches = {DMI_MATCH (DMI_SYS_VENDOR ,"Dell Inc." ),DMI_MATCH (DMI_PRODUCT_NAME ,"OptiPlex 990" ), + DMI_MATCH(DMI_BIOS_VERSION, "A0"), }, }, { /* Handle problems with rebooting on Dell 300's */
drivers/bluetooth/btusb.c +34 -25
88 lines not on this page · raw message
drivers/cxl/acpi.c +8 -4
@@ -243,6 +243,9 @@ static struct acpi_device *to_cxl_host_bridge(struct device *dev) {struct acpi_device *adev =to_acpi_device (dev); +if (!acpi_pci_find_root (adev->handle)) +return NULL ; +if (strcmp (acpi_device_hid (adev),"ACPI0016" ) ==0 )return adev;return NULL ;
@@ -266,10 +269,6 @@ static int add_host_bridge_uport(struct device *match, void *arg)if (!bridge)return 0 ; - pci_root =acpi_pci_find_root (bridge->handle); -if (!pci_root) -return -ENXIO ; - dport =find_dport_by_dev (root_port, match);if (!dport) {dev_dbg (host,"host bridge expected and not found\n" );
@@ -282,6 +281,11 @@ static int add_host_bridge_uport(struct device *match, void *arg)return PTR_ERR (port);dev_dbg (host,"%s: add: %s\n" ,dev_name (match),dev_name (&port->dev)); +/* +* Note that this lookup already succeeded in +* to_cxl_host_bridge(), so no need to check for failure here +*/ + pci_root =acpi_pci_find_root (bridge->handle); ctx = (struct cxl_walk_context ){ .dev = host, .root = pci_root->bus,
drivers/cxl/pci.c +3 -3
@@ -568,7 +568,7 @@ static bool cxl_mem_raw_command_allowed(u16 opcode)if (!IS_ENABLED (CONFIG_CXL_MEM_RAW_COMMANDS ))return false; -if (security_locked_down (LOCKDOWN_NONE )) +if (security_locked_down (LOCKDOWN_PCI_ACCESS ))return false;if (cxl_raw_allow_all)
@@ -1022,8 +1022,8 @@ static int cxl_probe_regs(struct cxl_mem *cxlm, void __iomem *base, !dev_map->memdev.valid) {dev_err (dev,"registers not found: %s%s%s\n" , !dev_map->status.valid ?"status " :"" , - !dev_map->mbox.valid ?"status " :"" , - !dev_map->memdev.valid ?"status " :"" ); + !dev_map->mbox.valid ?"mbox " :"" , + !dev_map->memdev.valid ?"memdev " :"" );return -ENXIO ; }
drivers/firmware/dmi-id.c +5 -1
@@ -73,6 +73,10 @@ static void ascii_filter(char *d, const char *s)static ssize_t get_modalias (char *buffer,size_t buffer_size) { +/* +* Note new fields need to be added at the end to keep compatibility +* with udev's hwdb which does matches on "`cat dmi/id/modalias`*". +*/ static const struct mafield { const char *prefix; int field;
@@ -85,13 +89,13 @@ static ssize_t get_modalias(char *buffer, size_t buffer_size) { "svn", DMI_SYS_VENDOR }, { "pn", DMI_PRODUCT_NAME }, { "pvr", DMI_PRODUCT_VERSION }, - { "sku", DMI_PRODUCT_SKU }, { "rvn", DMI_BOARD_VENDOR }, { "rn", DMI_BOARD_NAME }, { "rvr", DMI_BOARD_VERSION }, { "cvn", DMI_CHASSIS_VENDOR }, { "ct", DMI_CHASSIS_TYPE }, { "cvr", DMI_CHASSIS_VERSION }, + { "sku", DMI_PRODUCT_SKU }, { NULL, DMI_NONE } };
drivers/net/can/c_can/c_can_ethtool.c +1 -3
@@ -15,10 +15,8 @@ static void c_can_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *info) {struct c_can_priv *priv =netdev_priv (netdev); -struct platform_device *pdev =to_platform_device (priv->device); -strscpy (info->driver,"c_can" ,sizeof (info->driver)); -strscpy (info->bus_info, pdev->name,sizeof (info->bus_info)); +strscpy (info->bus_info,dev_name (priv->device),sizeof (info->bus_info)); } static void c_can_get_ringparam(struct net_device *netdev,
drivers/net/ethernet/realtek/r8169_main.c +1 -0
@@ -3489,6 +3489,7 @@ static void rtl_hw_start_8402(struct rtl8169_private *tp)rtl_eri_write (tp,0x1b0 ,ERIAR_MASK_0011 ,0x0000 );rtl_pcie_state_l2l3_disable (tp); +rtl_hw_aspm_clkreq_enable (tp, true); }static void rtl_hw_start_8106 (struct rtl8169_private *tp)
drivers/pci/quirks.c +6 -6
@@ -3235,12 +3235,12 @@ static void fixup_mpss_256(struct pci_dev *dev) { dev->pcie_mpss =1 ;/* 256 bytes */ } -DECLARE_PCI_FIXUP_HEADER (PCI_VENDOR_ID_SOLARFLARE , -PCI_DEVICE_ID_SOLARFLARE_SFC4000A_0 , fixup_mpss_256); -DECLARE_PCI_FIXUP_HEADER (PCI_VENDOR_ID_SOLARFLARE , -PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1 , fixup_mpss_256); -DECLARE_PCI_FIXUP_HEADER (PCI_VENDOR_ID_SOLARFLARE , -PCI_DEVICE_ID_SOLARFLARE_SFC4000B , fixup_mpss_256); +DECLARE_PCI_FIXUP_EARLY (PCI_VENDOR_ID_SOLARFLARE , +PCI_DEVICE_ID_SOLARFLARE_SFC4000A_0 , fixup_mpss_256); +DECLARE_PCI_FIXUP_EARLY (PCI_VENDOR_ID_SOLARFLARE , +PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1 , fixup_mpss_256); +DECLARE_PCI_FIXUP_EARLY (PCI_VENDOR_ID_SOLARFLARE , +PCI_DEVICE_ID_SOLARFLARE_SFC4000B , fixup_mpss_256);/* * Intel 5000 and 5100 Memory controllers have an erratum with read completion
drivers/staging/mt7621-pci/pci-mt7621.c +11 -2
@@ -56,6 +56,7 @@#define PCIE_BAR_ENABLE BIT(0)#define PCIE_PORT_INT_EN (x) BIT(20 + (x))#define PCIE_PORT_LINKUP BIT(0) +#define PCIE_PORT_CNT 3#define PERST_DELAY_MS 100
@@ -388,10 +389,11 @@ static void mt7621_pcie_reset_ep_deassert(struct mt7621_pcie *pcie)msleep (PERST_DELAY_MS ); } -static void mt7621_pcie_init_ports (struct mt7621_pcie *pcie) +static int mt7621_pcie_init_ports (struct mt7621_pcie *pcie) {struct device *dev = pcie->dev;struct mt7621_pcie_port *port, *tmp; +u8 num_disabled =0 ;int err;mt7621_pcie_reset_assert (pcie);
@@ -423,6 +425,7 @@ static void mt7621_pcie_init_ports(struct mt7621_pcie *pcie) slot);mt7621_control_assert (port); port->enabled = false; + num_disabled++;if (slot ==0 ) { tmp = port;
@@ -433,6 +436,8 @@ static void mt7621_pcie_init_ports(struct mt7621_pcie *pcie)phy_power_off (tmp->phy); } } + +return (num_disabled !=PCIE_PORT_CNT ) ?0 : -ENODEV ; }static void mt7621_pcie_enable_port (struct mt7621_pcie_port *port)
@@ -540,7 +545,11 @@ static int mt7621_pci_probe(struct platform_device *pdev)return err; } -mt7621_pcie_init_ports (pcie); + err =mt7621_pcie_init_ports (pcie); +if (err) { +dev_err (dev,"Nothing connected in virtual bridges\n" ); +return 0 ; + } err =mt7621_pcie_enable_ports (bridge);if (err) {
drivers/usb/cdns3/cdnsp-mem.c +1 -1
@@ -882,7 +882,7 @@ static u32 cdnsp_get_endpoint_max_burst(struct usb_gadget *g,if (g->speed ==USB_SPEED_HIGH && (usb_endpoint_xfer_isoc (pep->endpoint.desc) ||usb_endpoint_xfer_int (pep->endpoint.desc))) -return (usb_endpoint_maxp (pep->endpoint.desc) &0x1800 ) >>11 ; +return usb_endpoint_maxp_mult (pep->endpoint.desc) -1 ;return 0 ; }
drivers/usb/gadget/udc/tegra-xudc.c +2 -2
@@ -1610,7 +1610,7 @@ static void tegra_xudc_ep_context_setup(struct tegra_xudc_ep *ep)u16 maxpacket, maxburst =0 , esit =0 ;u32 val; - maxpacket =usb_endpoint_maxp (desc) &0x7ff ; + maxpacket =usb_endpoint_maxp (desc);if (xudc->gadget.speed ==USB_SPEED_SUPER ) {if (!usb_endpoint_xfer_control (desc)) maxburst = comp_desc->bMaxBurst;
@@ -1621,7 +1621,7 @@ static void tegra_xudc_ep_context_setup(struct tegra_xudc_ep *ep) (usb_endpoint_xfer_int(desc) || usb_endpoint_xfer_isoc(desc))) {if (xudc->gadget.speed ==USB_SPEED_HIGH ) { - maxburst = (usb_endpoint_maxp (desc) >>11 ) &0x3 ; + maxburst =usb_endpoint_maxp_mult (desc) -1 ;if (maxburst ==0x3 ) {dev_warn (xudc->dev,"invalid endpoint maxburst\n" );
drivers/usb/host/xhci-debugfs.c +10 -4
@@ -198,12 +198,13 @@ static void xhci_ring_dump_segment(struct seq_file *s,int i;dma_addr_t dma;union xhci_trb *trb; +char str[XHCI_MSG_MAX ];for (i =0 ; i <TRBS_PER_SEGMENT ; i++) { trb = &seg->trbs[i]; dma = seg->dma + i *sizeof (*trb);seq_printf (s,"%pad: %s\n" , &dma, -xhci_decode_trb (le32_to_cpu (trb->generic.field[0 ]), +xhci_decode_trb (str,XHCI_MSG_MAX ,le32_to_cpu (trb->generic.field[0 ]),le32_to_cpu (trb->generic.field[1 ]),le32_to_cpu (trb->generic.field[2 ]),le32_to_cpu (trb->generic.field[3 ])));
@@ -260,11 +261,13 @@ static int xhci_slot_context_show(struct seq_file *s, void *unused)struct xhci_slot_ctx *slot_ctx;struct xhci_slot_priv *priv = s->private;struct xhci_virt_device *dev = priv->dev; +char str[XHCI_MSG_MAX ]; xhci =hcd_to_xhci (bus_to_hcd (dev->udev->bus)); slot_ctx =xhci_get_slot_ctx (xhci, dev->out_ctx);seq_printf (s,"%pad: %s\n" , &dev->out_ctx->dma, -xhci_decode_slot_context (le32_to_cpu (slot_ctx->dev_info), +xhci_decode_slot_context (str, +le32_to_cpu (slot_ctx->dev_info),le32_to_cpu (slot_ctx->dev_info2),le32_to_cpu (slot_ctx->tt_info),le32_to_cpu (slot_ctx->dev_state)));
@@ -280,6 +283,7 @@ static int xhci_endpoint_context_show(struct seq_file *s, void *unused)struct xhci_ep_ctx *ep_ctx;struct xhci_slot_priv *priv = s->private;struct xhci_virt_device *dev = priv->dev; +char str[XHCI_MSG_MAX ]; xhci =hcd_to_xhci (bus_to_hcd (dev->udev->bus));
@@ -287,7 +291,8 @@ static int xhci_endpoint_context_show(struct seq_file *s, void *unused) ep_ctx =xhci_get_ep_ctx (xhci, dev->out_ctx, ep_index); dma = dev->out_ctx->dma + (ep_index +1 ) *CTX_SIZE (xhci->hcc_params);seq_printf (s,"%pad: %s\n" , &dma, -xhci_decode_ep_context (le32_to_cpu (ep_ctx->ep_info), +xhci_decode_ep_context (str, +le32_to_cpu (ep_ctx->ep_info),le32_to_cpu (ep_ctx->ep_info2),le64_to_cpu (ep_ctx->deq),le32_to_cpu (ep_ctx->tx_info)));
@@ -341,9 +346,10 @@ static int xhci_portsc_show(struct seq_file *s, void *unused) {struct xhci_port *port = s->private;u32 portsc; +char str[XHCI_MSG_MAX ]; portsc =readl (port->addr); -seq_printf (s,"%s\n" ,xhci_decode_portsc (portsc)); +seq_printf (s,"%s\n" ,xhci_decode_portsc (str, portsc));return 0 ; }
drivers/usb/host/xhci-mtk-sch.c +6 -4
@@ -575,10 +575,12 @@ static u32 get_esit_boundary(struct mu3h_sch_ep_info *sch_ep)u32 boundary = sch_ep->esit;if (sch_ep->sch_tt) {/* LS/FS with TT */ -/* tune for CS */ -if (sch_ep->ep_type !=ISOC_OUT_EP ) - boundary++; -else if (boundary >1 )/* normally esit >= 8 for FS/LS */ +/* +* tune for CS, normally esit >= 8 for FS/LS, +* not add one for other types to avoid access array +* out of boundary +*/ +if (sch_ep->ep_type ==ISOC_OUT_EP && boundary >1 ) boundary--; }
drivers/usb/host/xhci-rcar.c +7 -0
@@ -134,6 +134,13 @@ static int xhci_rcar_download_firmware(struct usb_hcd *hcd)const struct soc_device_attribute *attr;const char *firmware_name; +/* +* According to the datasheet, "Upon the completion of FW Download, +* there is no need to write or reload FW". +*/ +if (readl (regs +RCAR_USB3_DL_CTRL ) &RCAR_USB3_DL_CTRL_FW_SUCCESS ) +return 0 ; + attr =soc_device_match (rcar_quirks_match);if (attr) quirks = (uintptr_t )attr->data;
drivers/usb/host/xhci-ring.c +27 -16
75 lines not on this page · raw message
drivers/usb/host/xhci-trace.h +15 -11
@@ -25,8 +25,6 @@#include "xhci.h" #include "xhci-dbgcap.h" -#define XHCI_MSG_MAX 500 - DECLARE_EVENT_CLASS(xhci_log_msg, TP_PROTO(struct va_format *vaf), TP_ARGS(vaf),
@@ -122,6 +120,7 @@ DECLARE_EVENT_CLASS(xhci_log_trb, __field(u32, field1) __field(u32, field2) __field(u32, field3) +__dynamic_array (char, str,XHCI_MSG_MAX ) ),TP_fast_assign ( __entry->type = ring->type;
@@ -131,7 +130,7 @@ DECLARE_EVENT_CLASS(xhci_log_trb, __entry->field3 =le32_to_cpu (trb->field[3 ]); ),TP_printk ("%s: %s" ,xhci_ring_type_string (__entry->type), -xhci_decode_trb (__entry->field0, __entry->field1, +xhci_decode_trb (__get_str (str),XHCI_MSG_MAX , __entry->field0, __entry->field1, __entry->field2, __entry->field3) ) );
@@ -323,6 +322,7 @@ DECLARE_EVENT_CLASS(xhci_log_ep_ctx, __field(u32, info2) __field(u64, deq) __field(u32, tx_info) +__dynamic_array (char, str,XHCI_MSG_MAX ) ),TP_fast_assign ( __entry->info = le32_to_cpu(ctx->ep_info);
@@ -330,8 +330,8 @@ DECLARE_EVENT_CLASS(xhci_log_ep_ctx, __entry->deq =le64_to_cpu (ctx->deq); __entry->tx_info =le32_to_cpu (ctx->tx_info); ), -TP_printk ("%s" ,xhci_decode_ep_context (__entry->info, - __entry->info2, __entry->deq, __entry->tx_info) +TP_printk ("%s" ,xhci_decode_ep_context (__get_str (str), + __entry->info, __entry->info2, __entry->deq, __entry->tx_info) ) );
@@ -368,6 +368,7 @@ DECLARE_EVENT_CLASS(xhci_log_slot_ctx, __field(u32, info2) __field(u32, tt_info) __field(u32, state) +__dynamic_array (char, str,XHCI_MSG_MAX ) ),TP_fast_assign ( __entry->info = le32_to_cpu(ctx->dev_info);
@@ -375,9 +376,9 @@ DECLARE_EVENT_CLASS(xhci_log_slot_ctx, __entry->tt_info =le64_to_cpu (ctx->tt_info); __entry->state =le32_to_cpu (ctx->dev_state); ), -TP_printk ("%s" ,xhci_decode_slot_context (__entry->info, - __entry->info2, __entry->tt_info, - __entry->state) +TP_printk ("%s" ,xhci_decode_slot_context (__get_str (str), + __entry->info, __entry->info2, + __entry->tt_info, __entry->state) ) );
@@ -432,12 +433,13 @@ DECLARE_EVENT_CLASS(xhci_log_ctrl_ctx,TP_STRUCT__entry (__field (u32 ,drop )__field (u32, add) +__dynamic_array (char, str,XHCI_MSG_MAX ) ),TP_fast_assign ( __entry->drop = le32_to_cpu(ctrl_ctx->drop_flags); __entry->add =le32_to_cpu (ctrl_ctx->add_flags); ), -TP_printk ("%s" ,xhci_decode_ctrl_ctx (__entry->drop, __entry->add) +TP_printk ("%s" ,xhci_decode_ctrl_ctx (__get_str (str), __entry->drop, __entry->add) ) );
@@ -523,6 +525,7 @@ DECLARE_EVENT_CLASS(xhci_log_portsc,TP_STRUCT__entry (__field (u32 ,portnum )__field (u32, portsc) +__dynamic_array (char, str,XHCI_MSG_MAX ) ),TP_fast_assign ( __entry->portnum = portnum;
@@ -530,7 +533,7 @@ DECLARE_EVENT_CLASS(xhci_log_portsc, ),TP_printk ("port-%d: %s" , __entry->portnum, -xhci_decode_portsc (__entry->portsc) +xhci_decode_portsc (__get_str (str), __entry->portsc) ) );
@@ -555,13 +558,14 @@ DECLARE_EVENT_CLASS(xhci_log_doorbell,TP_STRUCT__entry (__field (u32 ,slot )__field (u32, doorbell) +__dynamic_array (char, str,XHCI_MSG_MAX ) ),TP_fast_assign ( __entry->slot = slot; __entry->doorbell = doorbell; ),TP_printk ("Ring doorbell for %s" , -xhci_decode_doorbell (__entry->slot, __entry->doorbell) +xhci_decode_doorbell (__get_str (str), __entry->slot, __entry->doorbell) ) );
drivers/usb/host/xhci.h +36 -37
240 lines not on this page · raw message
drivers/usb/mtu3/mtu3_core.c +3 -1
@@ -227,11 +227,13 @@ static void mtu3_set_speed(struct mtu3 *mtu, enum usb_device_speed speed)mtu3_setbits (mbase,U3D_POWER_MANAGEMENT ,HS_ENABLE );break ;case USB_SPEED_SUPER : +mtu3_setbits (mbase,U3D_POWER_MANAGEMENT ,HS_ENABLE );mtu3_clrbits (mtu->ippc_base,SSUSB_U3_CTRL (0 ),SSUSB_U3_PORT_SSP_SPEED );break ;case USB_SPEED_SUPER_PLUS : -mtu3_setbits (mtu->ippc_base,SSUSB_U3_CTRL (0 ), +mtu3_setbits (mbase,U3D_POWER_MANAGEMENT ,HS_ENABLE ); +mtu3_setbits (mtu->ippc_base,SSUSB_U3_CTRL (0 ),SSUSB_U3_PORT_SSP_SPEED );break ;default :
drivers/usb/mtu3/mtu3_gadget.c +2 -4
@@ -64,14 +64,12 @@ static int mtu3_ep_enable(struct mtu3_ep *mep)u32 interval =0 ;u32 mult =0 ;u32 burst =0 ; -int max_packet;int ret; desc = mep->desc; comp_desc = mep->comp_desc; mep->type =usb_endpoint_type (desc); - max_packet =usb_endpoint_maxp (desc); - mep->maxp = max_packet &GENMASK (10 ,0 ); + mep->maxp =usb_endpoint_maxp (desc);switch (mtu->g.speed) {case USB_SPEED_SUPER :
@@ -92,7 +90,7 @@ static int mtu3_ep_enable(struct mtu3_ep *mep) usb_endpoint_xfer_int(desc)) { interval = desc->bInterval; interval =clamp_val (interval,1 ,16 ) -1 ; - burst = (max_packet &GENMASK (12 ,11 )) >>11 ; + mult =usb_endpoint_maxp_mult (desc) -1 ; }break ;default :
net/ipv4/igmp.c +2 -0
@@ -2720,6 +2720,7 @@ int ip_check_mc_rcu(struct in_device *in_dev, __be32 mc_addr, __be32 src_addr, u rv =1 ; }else if (im) {if (src_addr) { +spin_lock_bh (&im->lock);for (psf = im->sources; psf; psf = psf->sf_next) {if (psf->sf_inaddr == src_addr)break ;
@@ -2730,6 +2731,7 @@ int ip_check_mc_rcu(struct in_device *in_dev, __be32 mc_addr, __be32 src_addr, u im->sfcount[MCAST_EXCLUDE ]; else rv = im->sfcount[MCAST_EXCLUDE ] !=0 ; +spin_unlock_bh (&im->lock); }else rv =1 ;/* unspecified source; tentatively allow */ }
sound/usb/quirks.c +1 -0
@@ -1898,6 +1898,7 @@ static const struct registration_quirk registration_quirks[] = {REG_QUIRK_ENTRY (0x0951 ,0x16ed ,2 ),/* Kingston HyperX Cloud Alpha S */ REG_QUIRK_ENTRY (0x0951 ,0x16ea ,2 ),/* Kingston HyperX Cloud Flight S */ REG_QUIRK_ENTRY (0x0ecb ,0x1f46 ,2 ),/* JBL Quantum 600 */ +REG_QUIRK_ENTRY (0x0ecb ,0x1f47 ,2 ),/* JBL Quantum 800 */ REG_QUIRK_ENTRY (0x0ecb ,0x2039 ,2 ),/* JBL Quantum 400 */ REG_QUIRK_ENTRY (0x0ecb ,0x203c ,2 ),/* JBL Quantum 600 */ REG_QUIRK_ENTRY(0x0ecb, 0x203e, 2), /* JBL Quantum 800 */
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.14.3 kernel.
All users of the 5.14 kernel series must upgrade.
The updated 5.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.14.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 arch/x86/kernel/reboot.c | 3 - drivers/bluetooth/btusb.c | 59 +++++++++++++----------- drivers/cxl/acpi.c | 12 +++- drivers/cxl/pci.c | 6 +- drivers/firmware/dmi-id.c | 6 ++ drivers/net/can/c_can/c_can_ethtool.c | 4 - drivers/net/ethernet/realtek/r8169_main.c | 1 drivers/pci/quirks.c | 12 ++-- drivers/staging/mt7621-pci/pci-mt7621.c | 13 ++++- drivers/usb/cdns3/cdnsp-mem.c | 2 drivers/usb/gadget/udc/tegra-xudc.c | 4 - drivers/usb/host/xhci-debugfs.c | 14 ++++- drivers/usb/host/xhci-mtk-sch.c | 10 ++-- drivers/usb/host/xhci-rcar.c | 7 ++ drivers/usb/host/xhci-ring.c | 43 +++++++++++------ drivers/usb/host/xhci-trace.h | 26 ++++++---- drivers/usb/host/xhci.h | 73 ++++++++++++++---------------- drivers/usb/mtu3/mtu3_core.c | 4 + drivers/usb/mtu3/mtu3_gadget.c | 6 -- net/ipv4/igmp.c | 2 sound/usb/quirks.c | 1 22 files changed, 184 insertions(+), 126 deletions(-)
Alexander Tsoy (1):
ALSA: usb-audio: Add registration quirk for JBL Quantum 800
Alison Schofield (1):
cxl/acpi: Do not add DSDT disabled ACPI0016 host bridge ports
Chunfeng Yun (6):
usb: xhci-mtk: fix issue of out-of-bounds array access
usb: cdnsp: fix the wrong mult value for HS isoc or intr
usb: gadget: tegra-xudc: fix the wrong mult value for HS isoc or intr
usb: mtu3: restore HS function when set SS/SSP
usb: mtu3: use @mult for HS isoc or intr
usb: mtu3: fix the wrong HS mult value
Dan Williams (1):
cxl/pci: Fix lockdown level
Greg Kroah-Hartman (1):
Linux 5.14.3
Hans de Goede (1):
firmware: dmi: Move product_sku info to the end of the modalias
Hayes Wang (1):
Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM"
Ismael Ferreras Morezuelas (1):
Bluetooth: btusb: Make the CSR clone chip force-suspend workaround more generic
Larry Finger (1):
Bluetooth: Add additional Bluetooth part for Realtek 8852AE
Li Qiang (Johnny Li) (1):
cxl/pci: Fix debug message in cxl_probe_regs()
Liu Jian (1):
igmp: Add ip_mc_list lock in ip_check_mc_rcu
Marek Behún (1):
PCI: Call Max Payload Size-related fixup quirks early
Mathias Nyman (3):
xhci: fix even more unsafe memory usage in xhci tracing
xhci: fix unsafe memory usage in xhci tracing
xhci: Fix failure to give back some cached cancelled URBs.
Paul Gortmaker (1):
x86/reboot: Limit Dell Optiplex 990 quirk to early BIOS versions
Sergio Paracuellos (1):
staging: mt7621-pci: fix hang when nothing is connected to pcie ports
Tong Zhang (1):
can: c_can: fix null-ptr-deref on ioctl()
Yoshihiro Shimoda (1):
usb: host: xhci-rcar: Don't reload firmware after the completion