-LINUX_VERSION-5.15 = .188
-LINUX_KERNEL_HASH-5.15.188 = c4953a071802ac30bb29f9e1bb8f02255169d8437026c84e81f155a178cbccd9
+LINUX_VERSION-5.15 = .189
+LINUX_KERNEL_HASH-5.15.189 = e3d0025b87278e14733cb326700f17c7cceb54d920622b0d5fcd58a88c6850c3
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1343,6 +1346,9 @@
+@@ -1346,6 +1349,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2278,6 +2278,7 @@ xhci_alloc_interrupter(struct xhci_hcd *
+@@ -2282,6 +2282,7 @@ xhci_alloc_interrupter(struct xhci_hcd *
{
struct device *dev = xhci_to_hcd(xhci)->self.sysdev;
struct xhci_interrupter *ir;
u64 erst_base;
u32 erst_size;
int ret;
-@@ -2298,7 +2299,11 @@ xhci_alloc_interrupter(struct xhci_hcd *
+@@ -2302,7 +2303,11 @@ xhci_alloc_interrupter(struct xhci_hcd *
return NULL;
ir->ir_set = &xhci->run_regs->ir_set[intr_num];
0, flags);
if (!ir->event_ring) {
xhci_warn(xhci, "Failed to allocate interrupter %d event ring\n", intr_num);
-@@ -2314,7 +2319,7 @@ xhci_alloc_interrupter(struct xhci_hcd *
+@@ -2318,7 +2323,7 @@ xhci_alloc_interrupter(struct xhci_hcd *
/* set ERST count with the number of entries in the segment table */
erst_size = readl(&ir->ir_set->erst_size);
erst_size &= ERST_SIZE_MASK;
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
-@@ -223,12 +223,12 @@ static int lan87xx_read_status(struct ph
+@@ -243,12 +243,12 @@ static int lan87xx_read_status(struct ph
if (rc < 0)
return rc;
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -310,6 +310,7 @@ static void xhci_pci_quirks(struct devic
+@@ -338,6 +338,7 @@ static void xhci_pci_quirks(struct devic
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == PCI_DEVICE_ID_VIA_VL805) {
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_TRB_OVERFETCH;
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1670,6 +1670,7 @@ struct xhci_hcd {
- #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
+@@ -1671,6 +1671,7 @@ struct xhci_hcd {
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
-+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(49)
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(49)
++#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(50)
unsigned int num_active_eps;
unsigned int limit_active_eps;
if (ret)
return -ENOMEM;
-@@ -1822,7 +1826,7 @@ int xhci_alloc_erst(struct xhci_hcd *xhc
+@@ -1826,7 +1830,7 @@ int xhci_alloc_erst(struct xhci_hcd *xhc
for (val = 0; val < evt_ring->num_segs; val++) {
entry = &erst->entries[val];
entry->seg_addr = cpu_to_le64(seg->dma);
cycle_state, type, max_packet, flags);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -311,6 +311,7 @@ static void xhci_pci_quirks(struct devic
+@@ -339,6 +339,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_TRB_OVERFETCH;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1672,6 +1672,7 @@ struct xhci_hcd {
- #define XHCI_WRITE_64_HI_LO BIT_ULL(47)
+@@ -1673,6 +1673,7 @@ struct xhci_hcd {
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(49)
-+#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(50)
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(49)
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(50)
++#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(51)
unsigned int num_active_eps;
unsigned int limit_active_eps;
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
-@@ -213,6 +213,8 @@ static int lan87xx_read_status(struct ph
+@@ -233,6 +233,8 @@ static int lan87xx_read_status(struct ph
return err;
if (!phydev->link && priv->energy_enable && phydev->irq == PHY_POLL) {
/* Disable EDPD to wake up PHY */
int rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
if (rc < 0)
-@@ -228,7 +230,7 @@ static int lan87xx_read_status(struct ph
+@@ -248,7 +250,7 @@ static int lan87xx_read_status(struct ph
*/
read_poll_timeout(phy_read, rc,
rc & MII_LAN83C185_ENERGYON || rc < 0,
MII_LAN83C185_CTRL_STATUS);
if (rc < 0)
return rc;
-@@ -238,10 +240,16 @@ static int lan87xx_read_status(struct ph
+@@ -258,10 +260,16 @@ static int lan87xx_read_status(struct ph
if (rc < 0)
return rc;
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -312,6 +312,7 @@ static void xhci_pci_quirks(struct devic
+@@ -340,6 +340,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_TRB_OVERFETCH;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG;
first_trb = false;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1673,6 +1673,7 @@ struct xhci_hcd {
- #define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(49)
- #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(50)
-+#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(51)
+@@ -1674,6 +1674,7 @@ struct xhci_hcd {
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(49)
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(50)
+ #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(51)
++#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(52)
unsigned int num_active_eps;
unsigned int limit_active_eps;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1669,6 +1669,7 @@ struct xhci_hcd {
- #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
+@@ -1670,6 +1670,7 @@ struct xhci_hcd {
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
-+#define XHCI_FAKE_DOORBELL BIT_ULL(49)
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(49)
++#define XHCI_FAKE_DOORBELL BIT_ULL(50)
unsigned int num_active_eps;
unsigned int limit_active_eps;
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
-@@ -1157,7 +1157,7 @@ static int msm_gpio_irq_set_affinity(str
+@@ -1176,7 +1176,7 @@ static int msm_gpio_irq_set_affinity(str
if (d->parent_data && test_bit(d->hwirq, pctrl->skip_wake_irqs))
return irq_chip_set_affinity_parent(d, dest, force);
}
static int msm_gpio_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info)
-@@ -1168,7 +1168,7 @@ static int msm_gpio_irq_set_vcpu_affinit
+@@ -1187,7 +1187,7 @@ static int msm_gpio_irq_set_vcpu_affinit
if (d->parent_data && test_bit(d->hwirq, pctrl->skip_wake_irqs))
return irq_chip_set_vcpu_affinity_parent(d, vcpu_info);
--- a/drivers/pwm/pwm-mediatek.c
+++ b/drivers/pwm/pwm-mediatek.c
-@@ -306,6 +306,12 @@ static const struct pwm_mediatek_of_data
+@@ -309,6 +309,12 @@ static const struct pwm_mediatek_of_data
.has_ck_26m_sel = true,
};
static const struct pwm_mediatek_of_data mt8516_pwm_data = {
.num_pwms = 5,
.pwm45_fixup = false,
-@@ -318,6 +324,7 @@ static const struct of_device_id pwm_med
+@@ -321,6 +327,7 @@ static const struct of_device_id pwm_med
{ .compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data },
{ .compatible = "mediatek,mt7628-pwm", .data = &mt7628_pwm_data },
{ .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data },
}
static int pwm_mediatek_config(struct pwm_chip *chip, struct pwm_device *pwm,
-@@ -274,48 +279,63 @@ static const struct pwm_mediatek_of_data
+@@ -277,48 +282,63 @@ static const struct pwm_mediatek_of_data
.num_pwms = 8,
.pwm45_fixup = false,
.has_ck_26m_sel = false,
};
static const struct of_device_id pwm_mediatek_of_match[] = {
-@@ -324,6 +344,7 @@ static const struct of_device_id pwm_med
+@@ -327,6 +347,7 @@ static const struct of_device_id pwm_med
{ .compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data },
{ .compatible = "mediatek,mt7628-pwm", .data = &mt7628_pwm_data },
{ .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data },