* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5386,6 +5489,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5395,6 +5498,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
}
static int goodix_check_cfg_8(struct goodix_ts_data *ts, const u8 *cfg, int len)
-@@ -1141,7 +1194,10 @@ static int goodix_configure_dev(struct g
+@@ -1142,7 +1195,10 @@ static int goodix_configure_dev(struct g
return -ENOMEM;
}
ts->input_dev->phys = "input/ts";
ts->input_dev->id.bustype = BUS_I2C;
ts->input_dev->id.vendor = 0x0416;
-@@ -1407,6 +1463,11 @@ static void goodix_ts_remove(struct i2c_
+@@ -1408,6 +1464,11 @@ static void goodix_ts_remove(struct i2c_
{
struct goodix_ts_data *ts = i2c_get_clientdata(client);
if (ts->load_cfg_from_disk)
wait_for_completion(&ts->firmware_loading_complete);
}
-@@ -1422,7 +1483,7 @@ static int goodix_suspend(struct device
+@@ -1423,7 +1484,7 @@ static int goodix_suspend(struct device
/* We need gpio pins to suspend/resume */
if (ts->irq_pin_access_method == IRQ_PIN_ACCESS_NONE) {
return 0;
}
-@@ -1466,7 +1527,7 @@ static int goodix_resume(struct device *
+@@ -1467,7 +1528,7 @@ static int goodix_resume(struct device *
int error;
if (ts->irq_pin_access_method == IRQ_PIN_ACCESS_NONE) {
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -6283,6 +6283,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -6272,6 +6272,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56b1, aspm_l1_acceptable_latency);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c0, aspm_l1_acceptable_latency);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c1, aspm_l1_acceptable_latency);
static bool td_on_ring(struct xhci_td *td, struct xhci_ring *ring)
{
struct xhci_segment *seg;
-@@ -4791,7 +4795,7 @@ static u16 xhci_calculate_u1_timeout(str
+@@ -4800,7 +4804,7 @@ static u16 xhci_calculate_u1_timeout(str
}
}
timeout_ns = xhci_calculate_intel_u1_timeout(udev, desc);
else
timeout_ns = udev->u1_params.sel;
-@@ -4855,7 +4859,7 @@ static u16 xhci_calculate_u2_timeout(str
+@@ -4864,7 +4868,7 @@ static u16 xhci_calculate_u2_timeout(str
}
}
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
-@@ -3369,10 +3369,6 @@ static int snd_bbfpro_controls_create(st
+@@ -3386,10 +3386,6 @@ static int snd_bbfpro_controls_create(st
#define RME_DIGIFACE_REGISTER(reg, mask) (((reg) << 16) | (mask))
#define RME_DIGIFACE_INVERT BIT(31)
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2066,7 +2066,7 @@ config PADATA
+@@ -2067,7 +2067,7 @@ config PADATA
bool
config ASN1
-LINUX_VERSION-6.12 = .95
-LINUX_KERNEL_HASH-6.12.95 = a9e8c51fcb1e695d1d35dde5886cba579cb6f29c9646c5889f39d63841d4b9f6
+LINUX_VERSION-6.12 = .96
+LINUX_KERNEL_HASH-6.12.96 = 7d2e1b5d5ab36b3a01856e71782dad2a54e634fb2b37c0a42998def3bbf957c1
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -313,6 +313,7 @@ static void quirk_mmio_always_on(struct
+@@ -302,6 +302,7 @@ static void quirk_mmio_always_on(struct
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
/*
* The Mellanox Tavor device gives false positive parity errors. Disable
* parity error reporting.
-@@ -3509,6 +3510,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3498,6 +3499,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the
-@@ -3534,6 +3537,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3523,6 +3526,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never
-@@ -3572,6 +3577,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3561,6 +3566,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
#define IMX_PCIE_FLAG_SUPPORTS_SUSPEND BIT(2)
#define IMX_PCIE_FLAG_HAS_PHYDRV BIT(3)
#define IMX_PCIE_FLAG_HAS_APP_RESET BIT(4)
-@@ -861,6 +861,12 @@ static int imx_pcie_start_link(struct dw
+@@ -856,6 +856,12 @@ static int imx_pcie_start_link(struct dw
u32 tmp;
int ret;
/*
* Force Gen1 operation when starting the link. In case the link is
* started in Gen2 mode, there is a possibility the devices on the
-@@ -897,22 +903,10 @@ static int imx_pcie_start_link(struct dw
+@@ -892,22 +898,10 @@ static int imx_pcie_start_link(struct dw
dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, tmp);
dw_pcie_dbi_ro_wr_dis(pci);
}
/* Make sure link training is finished as well! */
-@@ -1550,7 +1544,7 @@ static const struct imx_pcie_drvdata drv
+@@ -1545,7 +1539,7 @@ static const struct imx_pcie_drvdata drv
[IMX6Q] = {
.variant = IMX6Q,
.flags = IMX_PCIE_FLAG_IMX_PHY |
IMX_PCIE_FLAG_BROKEN_SUSPEND |
IMX_PCIE_FLAG_SUPPORTS_SUSPEND,
.dbi_length = 0x200,
-@@ -1568,7 +1562,7 @@ static const struct imx_pcie_drvdata drv
+@@ -1563,7 +1557,7 @@ static const struct imx_pcie_drvdata drv
[IMX6SX] = {
.variant = IMX6SX,
.flags = IMX_PCIE_FLAG_IMX_PHY |
IMX_PCIE_FLAG_SUPPORTS_SUSPEND,
.gpr = "fsl,imx6q-iomuxc-gpr",
.clk_names = imx6sx_clks,
-@@ -1584,7 +1578,7 @@ static const struct imx_pcie_drvdata drv
+@@ -1578,7 +1572,7 @@ static const struct imx_pcie_drvdata drv
[IMX6QP] = {
.variant = IMX6QP,
.flags = IMX_PCIE_FLAG_IMX_PHY |