Merge 6.9-rc2 into usb-next
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Apr 2024 15:02:18 +0000 (17:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Apr 2024 15:02:18 +0000 (17:02 +0200)
We need the USB fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1  2 
MAINTAINERS
drivers/usb/core/hub.c
drivers/usb/core/hub.h
drivers/usb/dwc2/core.h
drivers/usb/dwc2/core_intr.c
drivers/usb/dwc2/gadget.c
drivers/usb/dwc2/hcd.c
drivers/usb/dwc2/hw.h
drivers/usb/gadget/udc/core.c

diff --cc MAINTAINERS
Simple merge
index 1dcae5db85b21ec143606e8cb591779981d5fbe0,9446660e231bb3f9a79b5cdf1503b13377539227..e9fec90ed6f8e3bb9f667445e01c507d3428ad5e
@@@ -1805,9 -1814,9 +1814,9 @@@ static void hub_disconnect(struct usb_i
        if (hub->quirk_disable_autosuspend)
                usb_autopm_put_interface(intf);
  
 -      onboard_hub_destroy_pdevs(&hub->onboard_hub_devs);
 +      onboard_dev_destroy_pdevs(&hub->onboard_devs);
  
-       kref_put(&hub->kref, hub_release);
+       hub_put(hub);
  }
  
  static bool hub_descriptor_is_sane(struct usb_host_interface *desc)
Simple merge
Simple merge
Simple merge
Simple merge
index cc75a7062910468a4d563863cf9d6f51f3acb4a0,dd5b1c5691e11efa8e9300a289a32839e9212300..cb54390e7de488344e97658c8d9cea8fbaa56632
@@@ -5614,16 -5631,13 +5636,18 @@@ int dwc2_host_exit_hibernation(struct d
        dwc2_writel(hsotg, gr->gusbcfg, GUSBCFG);
        dwc2_writel(hsotg, hr->hcfg, HCFG);
  
 +      /* Reset ULPI latch */
 +      gpwrdn = dwc2_readl(hsotg, GPWRDN);
 +      gpwrdn &= ~GPWRDN_ULPI_LATCH_EN_DURING_HIB_ENTRY;
 +      dwc2_writel(hsotg, gpwrdn, GPWRDN);
 +
        /* De-assert Wakeup Logic */
-       gpwrdn = dwc2_readl(hsotg, GPWRDN);
-       gpwrdn &= ~GPWRDN_PMUACTV;
-       dwc2_writel(hsotg, gpwrdn, GPWRDN);
-       udelay(10);
+       if (!(rem_wakeup && hsotg->hw_params.snpsid >= DWC2_CORE_REV_4_30a)) {
+               gpwrdn = dwc2_readl(hsotg, GPWRDN);
+               gpwrdn &= ~GPWRDN_PMUACTV;
+               dwc2_writel(hsotg, gpwrdn, GPWRDN);
+               udelay(10);
+       }
  
        hprt0 = hr->hprt0;
        hprt0 |= HPRT0_PWR;
Simple merge
Simple merge