Skip to contentSkip to conversation

Linux 5.17.6

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages May 9, 2022 Stable branch

lore
Share & tools
lore
author maintainer
#1 lore raw
In reply to Greg Kroah-Hartman
Makefile +1 -1
index 3ad5dc6be393..7ef8dd5ab6f2 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 17
-SUBLEVEL = 5
+SUBLEVEL = 6
 EXTRAVERSION =
 NAME = Superb Owl
 
arch/arm/boot/dts/am33xx-l4.dtsi +2 -0
index c9629cb5ccd1..7da42a5b959c 100644
@@ -263,6 +263,8 @@ tscadc: tscadc@0 {
 				compatible = "ti,am3359-tscadc";
 				reg = <0x0 0x1000>;
 				interrupts = <16>;
+				clocks = <&adc_tsc_fck>;
+				clock-names = "fck";
 				status = "disabled";
 				dmas = <&edma 53 0>, <&edma 57 0>;
 				dma-names = "fifo0", "fifo1";
arch/arm/boot/dts/am3517-evm.dts +40 -5

87 lines not on this page · raw message

arch/arm/boot/dts/am3517-som.dtsi +9 -0
index 8b669e2eafec..f7b680f6c48a 100644
@@ -69,6 +69,8 @@ nand@0,0 {
 };
 
 &i2c1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c1_pins>;
 	clock-frequency = <400000>;
 
 	s35390a: s35390a@30 {
@@ -179,6 +181,13 @@ bluetooth {
 
 &omap3_pmx_core {
 
+	i2c1_pins: pinmux_i2c1_pins {
+		pinctrl-single,pins = <
+			OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0)  /* i2c1_scl */
+			OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0)  /* i2c1_sda */
+		>;
+	};
+
 	wl12xx_buffer_pins: pinmux_wl12xx_buffer_pins {
 		pinctrl-single,pins = <
 			OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4)  /* mmc1_dat7.gpio_129 */
arch/arm/boot/dts/at91-sama5d3_xplained.dts +4 -4
index d72c042f2850..a49c2966b41e 100644
@@ -57,8 +57,8 @@ slot@0 {
 			};
 
 			spi0: spi@f0004000 {
-				pinctrl-names = "default";
-				pinctrl-0 = <&pinctrl_spi0_cs>;
+				pinctrl-names = "default", "cs";
+				pinctrl-1 = <&pinctrl_spi0_cs>;
 				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
 				status = "okay";
 			};
@@ -171,8 +171,8 @@ slot@0 {
 			};
 
 			spi1: spi@f8008000 {
-				pinctrl-names = "default";
-				pinctrl-0 = <&pinctrl_spi1_cs>;
+				pinctrl-names = "default", "cs";
+				pinctrl-1 = <&pinctrl_spi1_cs>;
 				cs-gpios = <&pioC 25 0>;
 				status = "okay";
 			};
arch/arm/boot/dts/at91-sama5d4_xplained.dts +3 -3
index d241c24f0d83..e519d2747936 100644
@@ -81,8 +81,8 @@ usart4: serial@fc010000 {
 			};
 
 			spi1: spi@fc018000 {
-				pinctrl-names = "default";
-				pinctrl-0 = <&pinctrl_spi0_cs>;
+				pinctrl-names = "default", "cs";
+				pinctrl-1 = <&pinctrl_spi1_cs>;
 				cs-gpios = <&pioB 21 0>;
 				status = "okay";
 			};
@@ -140,7 +140,7 @@ pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
 						atmel,pins =
 							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
 					};
-					pinctrl_spi0_cs: spi0_cs_default {
+					pinctrl_spi1_cs: spi1_cs_default {
 						atmel,pins =
 							<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
 					};
arch/arm/boot/dts/at91-sama7g5ek.dts +1 -1
index ccf9e224da78..fed260473b6b 100644
@@ -465,7 +465,7 @@ pinctrl_flx0_default: flx0_default {
 	pinctrl_flx3_default: flx3_default {
 		pinmux = <PIN_PD16__FLEXCOM3_IO0>,
 			 <PIN_PD17__FLEXCOM3_IO1>;
-		bias-disable;
+		bias-pull-up;
 	};
 
 	pinctrl_flx4_default: flx4_default {
arch/arm/boot/dts/at91sam9g20ek_common.dtsi +6 -0
index 87bb39060e8b..ca03685f0f08 100644
@@ -219,6 +219,12 @@ i2c-gpio-0 {
 		wm8731: wm8731@1b {
 			compatible = "wm8731";
 			reg = <0x1b>;
+
+			/* PCK0 at 12MHz */
+			clocks = <&pmc PMC_TYPE_SYSTEM 8>;
+			clock-names = "mclk";
+			assigned-clocks = <&pmc PMC_TYPE_SYSTEM 8>;
+			assigned-clock-rates = <12000000>;
 		};
 	};
 
arch/arm/boot/dts/dra7-l4.dtsi +2 -2
index 0a11bacffc1f..5733e3a4ea8e 100644
@@ -4188,11 +4188,11 @@ target-module@1d0010 {			/* 0x489d0000, ap 27 30.0 */
 			reg = <0x1d0010 0x4>;
 			reg-names = "sysc";
 			ti,sysc-midle = <SYSC_IDLE_FORCE>,
-					<SYSC_IDLE_NO>,
-					<SYSC_IDLE_SMART>;
+					<SYSC_IDLE_NO>;
 			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
 					<SYSC_IDLE_NO>,
 					<SYSC_IDLE_SMART>;
+			power-domains = <&prm_vpe>;
 			clocks = <&vpe_clkctrl DRA7_VPE_VPE_CLKCTRL 0>;
 			clock-names = "fck";
 			#address-cells = <1>;
arch/arm/boot/dts/imx6qdl-apalis.dtsi +8 -2
index ed2739e39085..bd763bae596b 100644
@@ -286,6 +286,8 @@ vgen6_reg: vgen6 {
 	codec: sgtl5000@a {
 		compatible = "fsl,sgtl5000";
 		reg = <0x0a>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_sgtl5000>;
 		clocks = <&clks IMX6QDL_CLK_CKO>;
 		VDDA-supply = <&reg_module_3v3_audio>;
 		VDDIO-supply = <&reg_module_3v3>;
@@ -517,8 +519,6 @@ MX6QDL_PAD_DISP0_DAT20__AUD4_TXC	0x130b0
 			MX6QDL_PAD_DISP0_DAT21__AUD4_TXD	0x130b0
 			MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS	0x130b0
 			MX6QDL_PAD_DISP0_DAT23__AUD4_RXD	0x130b0
-			/* SGTL5000 sys_mclk */
-			MX6QDL_PAD_GPIO_5__CCM_CLKO1		0x130b0
 		>;
 	};
 
@@ -811,6 +811,12 @@ MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x000b0
 		>;
 	};
 
+	pinctrl_sgtl5000: sgtl5000grp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_5__CCM_CLKO1	0x130b0
+		>;
+	};
+
 	pinctrl_spdif: spdifgrp {
 		fsl,pins = <
 			MX6QDL_PAD_GPIO_16__SPDIF_IN  0x1b0b0
arch/arm/boot/dts/imx6ull-colibri.dtsi +1 -1
index 7f35a06dff95..951a2a6c5a65 100644
@@ -37,7 +37,7 @@ reg_module_3v3_avdd: regulator-module-3v3-avdd {
 
 	reg_sd1_vmmc: regulator-sd1-vmmc {
 		compatible = "regulator-gpio";
-		gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
+		gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_snvs_reg_sd>;
 		regulator-always-on;
arch/arm/boot/dts/logicpd-som-lv-35xx-devkit.dts +15 -0
index 2a0a98fe67f0..3240c67e0c39 100644
@@ -11,3 +11,18 @@ / {
 	model = "LogicPD Zoom OMAP35xx SOM-LV Development Kit";
 	compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3430", "ti,omap3";
 };
+
+&omap3_pmx_core2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&hsusb2_2_pins>;
+	hsusb2_2_pins: pinmux_hsusb2_2_pins {
+		pinctrl-single,pins = <
+			OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
+			OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
+			OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
+			OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
+			OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
+			OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
+		>;
+	};
+};
arch/arm/boot/dts/logicpd-som-lv-37xx-devkit.dts +15 -0
index a604d92221a4..c757f0d7781c 100644
@@ -11,3 +11,18 @@ / {
 	model = "LogicPD Zoom DM3730 SOM-LV Development Kit";
 	compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3630", "ti,omap3";
 };
+
+&omap3_pmx_core2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&hsusb2_2_pins>;
+	hsusb2_2_pins: pinmux_hsusb2_2_pins {
+		pinctrl-single,pins = <
+			OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
+			OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
+			OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
+			OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
+			OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
+			OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
+		>;
+	};
+};
arch/arm/boot/dts/logicpd-som-lv.dtsi +0 -15
index b56524cc7fe2..55b619c99e24 100644
@@ -265,21 +265,6 @@ OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4)	/* sys_boot1.gpio_3 */
 	};
 };
 
-&omap3_pmx_core2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&hsusb2_2_pins>;
-	hsusb2_2_pins: pinmux_hsusb2_2_pins {
-		pinctrl-single,pins = <
-			OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
-			OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
-			OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
-			OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
-			OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
-			OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
-		>;
-	};
-};
-
 &uart2 {
 	interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
 	pinctrl-names = "default";
arch/arm/boot/dts/omap3-gta04.dtsi +2 -0
index 7e3d8147e2c1..0365f06165e9 100644
@@ -31,6 +31,8 @@ chosen {
 	aliases {
 		display0 = &lcd;
 		display1 = &tv0;
+		/delete-property/ mmc2;
+		/delete-property/ mmc3;
 	};
 
 	ldo_3v3: fixedregulator {
arch/arm/mach-exynos/Kconfig +0 -1
index f7d993628cb7..a9c1efcf7c9c 100644
@@ -17,7 +17,6 @@ menuconfig ARCH_EXYNOS
 	select EXYNOS_PMU
 	select EXYNOS_SROM
 	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
-	select GPIOLIB
 	select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5
 	select HAVE_ARM_SCU if SMP
 	select PINCTRL
arch/arm/mach-omap2/omap4-common.c +2 -0
index 5c3845730dbf..0b80f8bcd304 100644
@@ -314,10 +314,12 @@ void __init omap_gic_of_init(void)
 
 	np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-gic");
 	gic_dist_base_addr = of_iomap(np, 0);
+	of_node_put(np);
 	WARN_ON(!gic_dist_base_addr);
 
 	np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-twd-timer");
 	twd_base = of_iomap(np, 0);
+	of_node_put(np);
 	WARN_ON(!twd_base);
 
 skip_errata_init:
arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi +0 -40
index d61f43052a34..8e9ad1e51d66 100644
@@ -11,26 +11,6 @@ cpu_opp_table_0: opp-table-0 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp-100000000 {
-			opp-hz = /bits/ 64 <100000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-250000000 {
-			opp-hz = /bits/ 64 <250000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-500000000 {
-			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-667000000 {
-			opp-hz = /bits/ 64 <667000000>;
-			opp-microvolt = <731000>;
-		};
-
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
 			opp-microvolt = <761000>;
@@ -71,26 +51,6 @@ cpub_opp_table_1: opp-table-1 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp-100000000 {
-			opp-hz = /bits/ 64 <100000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-250000000 {
-			opp-hz = /bits/ 64 <250000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-500000000 {
-			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-667000000 {
-			opp-hz = /bits/ 64 <667000000>;
-			opp-microvolt = <731000>;
-		};
-
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
 			opp-microvolt = <731000>;
arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi +0 -40
index 1e5d0ee5d541..44c23c984034 100644
@@ -11,26 +11,6 @@ cpu_opp_table_0: opp-table-0 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp-100000000 {
-			opp-hz = /bits/ 64 <100000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-250000000 {
-			opp-hz = /bits/ 64 <250000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-500000000 {
-			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <731000>;
-		};
-
-		opp-667000000 {
-			opp-hz = /bits/ 64 <667000000>;
-			opp-microvolt = <731000>;
-		};
-
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
 			opp-microvolt = <731000>;
@@ -76,26 +56,6 @@ cpub_opp_table_1: opp-table-1 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp-100000000 {
-			opp-hz = /bits/ 64 <100000000>;
-			opp-microvolt = <751000>;
-		};
-
-		opp-250000000 {
-			opp-hz = /bits/ 64 <250000000>;
-			opp-microvolt = <751000>;
-		};
-
-		opp-500000000 {
-			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <751000>;
-		};
-
-		opp-667000000 {
-			opp-hz = /bits/ 64 <667000000>;
-			opp-microvolt = <751000>;
-		};
-
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
 			opp-microvolt = <771000>;
arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts +1 -0
index 5751c48620ed..cadba194b149 100644
@@ -437,6 +437,7 @@ &gpio {
 		"",
 		"eMMC_RST#", /* BOOT_12 */
 		"eMMC_DS", /* BOOT_13 */
+		"", "",
 		/* GPIOC */
 		"SD_D0_B", /* GPIOC_0 */
 		"SD_D1_B", /* GPIOC_1 */
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi +0 -20
index 3d8b1f4f2001..78bdbd2ccc9d 100644
@@ -95,26 +95,6 @@ cpu_opp_table: opp-table {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp-100000000 {
-			opp-hz = /bits/ 64 <100000000>;
-			opp-microvolt = <730000>;
-		};
-
-		opp-250000000 {
-			opp-hz = /bits/ 64 <250000000>;
-			opp-microvolt = <730000>;
-		};
-
-		opp-500000000 {
-			opp-hz = /bits/ 64 <500000000>;
-			opp-microvolt = <730000>;
-		};
-
-		opp-667000000 {
-			opp-hz = /bits/ 64 <666666666>;
-			opp-microvolt = <750000>;
-		};
-
 		opp-1000000000 {
 			opp-hz = /bits/ 64 <1000000000>;
 			opp-microvolt = <770000>;
arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx.dtsi +3 -1
index 28012279f6f6..7ebbba6bd166 100644
@@ -103,12 +103,14 @@ &uart3 {
 
 &usbotg1 {
 	dr_mode = "otg";
+	over-current-active-low;
 	vbus-supply = <&reg_usb_otg1_vbus>;
 	status = "okay";
 };
 
 &usbotg2 {
 	dr_mode = "host";
+	disable-over-current;
 	status = "okay";
 };
 
@@ -166,7 +168,7 @@ pinctrl_spi2: spi2grp {
 		fsl,pins = <
 			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
 			MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI	0xd6
-			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
+			MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO	0xd6
 			MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13	0xd6
 		>;
 	};
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx.dtsi +3 -1
index 27afa46a253a..4337a231bbea 100644
@@ -139,12 +139,14 @@ &uart4 {
 
 &usbotg1 {
 	dr_mode = "otg";
+	over-current-active-low;
 	vbus-supply = <&reg_usb_otg1_vbus>;
 	status = "okay";
 };
 
 &usbotg2 {
 	dr_mode = "host";
+	disable-over-current;
 	vbus-supply = <&reg_usb_otg2_vbus>;
 	status = "okay";
 };
@@ -231,7 +233,7 @@ pinctrl_spi2: spi2grp {
 		fsl,pins = <
 			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
 			MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI	0xd6
-			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
+			MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO	0xd6
 			MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13	0xd6
 		>;
 	};
arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx.dtsi +3 -1
index a59e849c7be2..8eba6079bbf3 100644
@@ -166,12 +166,14 @@ &uart4 {
 
 &usbotg1 {
 	dr_mode = "otg";
+	over-current-active-low;
 	vbus-supply = <&reg_usb_otg1_vbus>;
 	status = "okay";
 };
 
 &usbotg2 {
 	dr_mode = "host";
+	disable-over-current;
 	vbus-supply = <&reg_usb_otg2_vbus>;
 	status = "okay";
 };
@@ -280,7 +282,7 @@ pinctrl_spi2: spi2grp {
 		fsl,pins = <
 			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
 			MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI	0xd6
-			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK	0xd6
+			MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO	0xd6
 			MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13	0xd6
 		>;
 	};
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts +4 -0
index 7dfee715a2c4..d8ce217c6016 100644
@@ -59,6 +59,10 @@ pmic@4b {
 		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 		rohm,reset-snvs-powered;
 
+		#clock-cells = <0>;
+		clocks = <&osc_32k 0>;
+		clock-output-names = "clk-32k-out";
+
 		regulators {
 			buck1_reg: BUCK1 {
 				regulator-name = "buck1";
arch/arm64/boot/dts/freescale/imx8mn.dtsi +5 -5
index b8d49d5f2668..98bfb53491fc 100644
@@ -291,7 +291,7 @@ spba2: spba-bus@30000000 {
 				ranges;
 
 				sai2: sai@30020000 {
-					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
+					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
 					reg = <0x30020000 0x10000>;
 					interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
 					clocks = <&clk IMX8MN_CLK_SAI2_IPG>,
@@ -305,7 +305,7 @@ sai2: sai@30020000 {
 				};
 
 				sai3: sai@30030000 {
-					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
+					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
 					reg = <0x30030000 0x10000>;
 					interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
 					clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
@@ -319,7 +319,7 @@ sai3: sai@30030000 {
 				};
 
 				sai5: sai@30050000 {
-					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
+					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
 					reg = <0x30050000 0x10000>;
 					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 					clocks = <&clk IMX8MN_CLK_SAI5_IPG>,
@@ -335,7 +335,7 @@ sai5: sai@30050000 {
 				};
 
 				sai6: sai@30060000 {
-					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
+					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
 					reg = <0x30060000  0x10000>;
 					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 					clocks = <&clk IMX8MN_CLK_SAI6_IPG>,
@@ -392,7 +392,7 @@ spdif1: spdif@30090000 {
 				};
 
 				sai7: sai@300b0000 {
-					compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
+					compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
 					reg = <0x300b0000 0x10000>;
 					interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
 					clocks = <&clk IMX8MN_CLK_SAI7_IPG>,
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq.dtsi +1 -1
index 8aedcddfeab8..2c63b01e93e0 100644
@@ -253,7 +253,7 @@ flash0: flash@0 {
 		#address-cells = <1>;
 		#size-cells = <1>;
 		spi-max-frequency = <84000000>;
-		spi-tx-bus-width = <4>;
+		spi-tx-bus-width = <1>;
 		spi-rx-bus-width = <4>;
 	};
 };
arch/arm64/boot/dts/freescale/imx8qm.dtsi +1 -1
index 4a7c017b5f31..8fecd54198fb 100644
@@ -193,7 +193,7 @@ pd: imx8qx-pd {
 		};
 
 		clk: clock-controller {
-			compatible = "fsl,imx8qxp-clk", "fsl,scu-clk";
+			compatible = "fsl,imx8qm-clk", "fsl,scu-clk";
 			#clock-cells = <2>;
 		};
 
arch/powerpc/kernel/reloc_64.S +47 -20

107 lines not on this page · raw message

arch/powerpc/kernel/vmlinux.lds.S +0 -2
index 2bcca818136a..fe22d940412f 100644
@@ -281,9 +281,7 @@ SECTIONS
 	. = ALIGN(8);
 	.dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET)
 	{
-#ifdef CONFIG_PPC32
 		__dynamic_symtab = .;
-#endif
 		*(.dynsym)
 	}
 	.dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) }
arch/powerpc/perf/Makefile +2 -2
index 2f46e31c7612..4f53d0b97539 100644
@@ -3,11 +3,11 @@
 obj-y				+= callchain.o callchain_$(BITS).o perf_regs.o
 obj-$(CONFIG_COMPAT)		+= callchain_32.o
 
-obj-$(CONFIG_PPC_PERF_CTRS)	+= core-book3s.o bhrb.o
+obj-$(CONFIG_PPC_PERF_CTRS)	+= core-book3s.o
 obj64-$(CONFIG_PPC_PERF_CTRS)	+= ppc970-pmu.o power5-pmu.o \
 				   power5+-pmu.o power6-pmu.o power7-pmu.o \
 				   isa207-common.o power8-pmu.o power9-pmu.o \
-				   generic-compat-pmu.o power10-pmu.o
+				   generic-compat-pmu.o power10-pmu.o bhrb.o
 obj32-$(CONFIG_PPC_PERF_CTRS)	+= mpc7450-pmu.o
 
 obj-$(CONFIG_PPC_POWERNV)	+= imc-pmu.o
arch/powerpc/tools/relocs_check.sh +1 -6
index 014e00e74d2b..63792af00417 100755
@@ -39,6 +39,7 @@ $objdump -R "$vmlinux" |
 	#	R_PPC_NONE
 	grep -F -w -v 'R_PPC64_RELATIVE
 R_PPC64_NONE
+R_PPC64_UADDR64
 R_PPC_ADDR16_LO
 R_PPC_ADDR16_HI
 R_PPC_ADDR16_HA
@@ -54,9 +55,3 @@ fi
 num_bad=$(echo "$bad_relocs" | wc -l)
 echo "WARNING: $num_bad bad relocations"
 echo "$bad_relocs"
-
-# If we see this type of relocation it's an idication that
-# we /may/ be using an old version of binutils.
-if echo "$bad_relocs" | grep -q -F -w R_PPC64_UADDR64; then
-	echo "WARNING: You need at least binutils >= 2.19 to build a CONFIG_RELOCATABLE kernel"
-fi
arch/riscv/kernel/patch.c +1 -1
index 0b552873a577..765004b60513 100644
@@ -104,7 +104,7 @@ static int patch_text_cb(void *data)
 	struct patch_insn *patch = data;
 	int ret = 0;
 
-	if (atomic_inc_return(&patch->cpu_count) == 1) {
+	if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) {
 		ret =
 		    patch_text_nosync(patch->addr, &patch->insn,
 					    GET_INSN_LENGTH(patch->insn));
arch/x86/include/asm/microcode.h +2 -0
index d6bfdfb0f0af..0c3d3440fe27 100644
@@ -131,10 +131,12 @@ extern void __init load_ucode_bsp(void);
 extern void load_ucode_ap(void);
 void reload_early_microcode(void);
 extern bool initrd_gone;
+void microcode_bsp_resume(void);
 #else
 static inline void __init load_ucode_bsp(void)			{ }
 static inline void load_ucode_ap(void)				{ }
 static inline void reload_early_microcode(void)			{ }
+static inline void microcode_bsp_resume(void)			{ }
 #endif
 
 #endif /* _ASM_X86_MICROCODE_H */
arch/x86/kernel/cpu/microcode/core.c +3 -3
index f955d25076ba..239ff5fcec6a 100644
@@ -758,9 +758,9 @@ static struct subsys_interface mc_cpu_interface = {
 };
 
 /**
- * mc_bp_resume - Update boot CPU microcode during resume.
+ * microcode_bsp_resume - Update boot CPU microcode during resume.
  */
-static void mc_bp_resume(void)
+void microcode_bsp_resume(void)
 {
 	int cpu = smp_processor_id();
 	struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
@@ -772,7 +772,7 @@ static void mc_bp_resume(void)
 }
 
 static struct syscore_ops mc_syscore_ops = {
-	.resume			= mc_bp_resume,
+	.resume			= microcode_bsp_resume,
 };
 
 static int mc_cpu_starting(unsigned int cpu)
arch/x86/lib/usercopy_64.c +1 -1
index 0402a749f3a0..0ae6cf804197 100644
@@ -119,7 +119,7 @@ void __memcpy_flushcache(void *_dst, const void *_src, size_t size)
 
 	/* cache copy and flush to align dest */
 	if (!IS_ALIGNED(dest, 8)) {
-		unsigned len = min_t(unsigned, size, ALIGN(dest, 8) - dest);
+		size_t len = min_t(size_t, size, ALIGN(dest, 8) - dest);
 
 		memcpy((void *) dest, (void *) source, len);
 		clean_cache_range((void *) dest, len);
arch/x86/pci/xen.c +5 -1
index 9bb1e2941179..b94f727251b6 100644
@@ -467,7 +467,6 @@ static __init void xen_setup_pci_msi(void)
 		else
 			xen_msi_ops.setup_msi_irqs = xen_setup_msi_irqs;
 		xen_msi_ops.teardown_msi_irqs = xen_pv_teardown_msi_irqs;
-		pci_msi_ignore_mask = 1;
 	} else if (xen_hvm_domain()) {
 		xen_msi_ops.setup_msi_irqs = xen_hvm_setup_msi_irqs;
 		xen_msi_ops.teardown_msi_irqs = xen_teardown_msi_irqs;
@@ -481,6 +480,11 @@ static __init void xen_setup_pci_msi(void)
 	 * in allocating the native domain and never use it.
 	 */
 	x86_init.irqs.create_pci_msi_domain = xen_create_pci_msi_domain;
+	/*
+	 * With XEN PIRQ/Eventchannels in use PCI/MSI[-X] masking is solely
+	 * controlled by the hypervisor.
+	 */
+	pci_msi_ignore_mask = 1;
 }
 
 #else /* CONFIG_PCI_MSI */
arch/x86/power/cpu.c +9 -1
index 3822666fb73d..bb176c72891c 100644
@@ -25,6 +25,7 @@
 #include <asm/cpu.h>
 #include <asm/mmu_context.h>
 #include <asm/cpu_device_id.h>
+#include <asm/microcode.h>
 
 #ifdef CONFIG_X86_32
 __visible unsigned long saved_context_ebx;
@@ -262,11 +263,18 @@ static void notrace __restore_processor_state(struct saved_context *ctxt)
 	x86_platform.restore_sched_clock_state();
 	mtrr_bp_restore();
 	perf_restore_debug_store();
-	msr_restore_context(ctxt);
 
 	c = &cpu_data(smp_processor_id());
 	if (cpu_has(c, X86_FEATURE_MSR_IA32_FEAT_CTL))
 		init_ia32_feat_ctl(c);
+
+	microcode_bsp_resume();
+
+	/*
+	 * This needs to happen after the microcode has been updated upon resume
+	 * because some of the MSRs are "emulated" in microcode.
+	 */
+	msr_restore_context(ctxt);
 }
 
 /* Needed by apm.c */
arch/xtensa/platforms/iss/console.c +0 -8
index 81d7c7e8f7e9..10b79d3c74e0 100644
@@ -36,24 +36,19 @@ static void rs_poll(struct timer_list *);
 static struct tty_driver *serial_driver;
 static struct tty_port serial_port;
 static DEFINE_TIMER(serial_timer, rs_poll);
-static DEFINE_SPINLOCK(timer_lock);
 
 static int rs_open(struct tty_struct *tty, struct file * filp)
 {
-	spin_lock_bh(&timer_lock);
 	if (tty->count == 1)
 		mod_timer(&serial_timer, jiffies + SERIAL_TIMER_VALUE);
-	spin_unlock_bh(&timer_lock);
 
 	return 0;
 }
 
 static void rs_close(struct tty_struct *tty, struct file * filp)
 {
-	spin_lock_bh(&timer_lock);
 	if (tty->count == 1)
 		del_timer_sync(&serial_timer);
-	spin_unlock_bh(&timer_lock);
 }
 
 
@@ -73,8 +68,6 @@ static void rs_poll(struct timer_list *unused)
 	int rd = 1;
 	unsigned char c;
 
-	spin_lock(&timer_lock);
-
 	while (simc_poll(0)) {
 		rd = simc_read(0, &c, 1);
 		if (rd <= 0)
@@ -87,7 +80,6 @@ static void rs_poll(struct timer_list *unused)
 		tty_flip_buffer_push(port);
 	if (rd)
 		mod_timer(&serial_timer, jiffies + SERIAL_TIMER_VALUE);
-	spin_unlock(&timer_lock);
 }
 
 
block/bfq-iosched.c +9 -3
index 1dff82d34b44..963f9f549232 100644
@@ -569,7 +569,7 @@ static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit)
 	struct bfq_entity *entity = &bfqq->entity;
 	struct bfq_entity *inline_entities[BFQ_LIMIT_INLINE_DEPTH];
 	struct bfq_entity **entities = inline_entities;
-	int depth, level;
+	int depth, level, alloc_depth = BFQ_LIMIT_INLINE_DEPTH;
 	int class_idx = bfqq->ioprio_class - 1;
 	struct bfq_sched_data *sched_data;
 	unsigned long wsum;
@@ -578,15 +578,21 @@ static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit)
 	if (!entity->on_st_or_in_serv)
 		return false;
 
+retry:
+	spin_lock_irq(&bfqd->lock);
 	/* +1 for bfqq entity, root cgroup not included */
 	depth = bfqg_to_blkg(bfqq_group(bfqq))->blkcg->css.cgroup->level + 1;
-	if (depth > BFQ_LIMIT_INLINE_DEPTH) {
+	if (depth > alloc_depth) {
+		spin_unlock_irq(&bfqd->lock);
+		if (entities != inline_entities)
+			kfree(entities);
 		entities = kmalloc_array(depth, sizeof(*entities), GFP_NOIO);
 		if (!entities)
 			return false;
+		alloc_depth = depth;
+		goto retry;
 	}
 
-	spin_lock_irq(&bfqd->lock);
 	sched_data = entity->sched_data;
 	/* Gather our ancestors as we need to traverse them in reverse order */
 	level = 0;
block/blk-iocost.c +11 -1
index 769b64394298..871d9529ea35 100644
@@ -2322,7 +2322,17 @@ static void ioc_timer_fn(struct timer_list *timer)
 				iocg->hweight_donating = hwa;
 				iocg->hweight_after_donation = new_hwi;
 				list_add(&iocg->surplus_list, &surpluses);
-			} else {
+			} else if (!iocg->abs_vdebt) {
+				/*
+				 * @iocg doesn't have enough to donate. Reset
+				 * its inuse to active.
+				 *
+				 * Don't reset debtors as their inuse's are
+				 * owned by debt handling. This shouldn't affect
+				 * donation calculuation in any meaningful way
+				 * as @iocg doesn't have a meaningful amount of
+				 * share anyway.
+				 */
 				TRACE_IOCG_PATH(inuse_shortage, iocg, &now,
 						iocg->inuse, iocg->active,
 						iocg->hweight_inuse, new_hwi);
block/blk-mq.c +1 -8
index cb50097366cd..0aa20df31e36 100644
@@ -1122,14 +1122,7 @@ void blk_mq_start_request(struct request *rq)
 	trace_block_rq_issue(rq);
 
 	if (test_bit(QUEUE_FLAG_STATS, &q->queue_flags)) {
-		u64 start_time;
-#ifdef CONFIG_BLK_CGROUP
-		if (rq->bio)
-			start_time = bio_issue_time(&rq->bio->bi_issue);
-		else
-#endif
-			start_time = ktime_get_ns();
-		rq->io_start_time_ns = start_time;
+		rq->io_start_time_ns = ktime_get_ns();
 		rq->stats_sectors = blk_rq_sectors(rq);
 		rq->rq_flags |= RQF_STATS;
 		rq_qos_issue(q, rq);
drivers/acpi/processor_idle.c +2 -6
index 4556c86c3465..eb95e188d62b 100644
@@ -96,11 +96,6 @@ static const struct dmi_system_id processor_power_dmi_table[] = {
 	  DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."),
 	  DMI_MATCH(DMI_PRODUCT_NAME,"L8400B series Notebook PC")},
 	 (void *)1},
-	/* T40 can not handle C3 idle state */
-	{ set_max_cstate, "IBM ThinkPad T40", {
-	  DMI_MATCH(DMI_SYS_VENDOR, "IBM"),
-	  DMI_MATCH(DMI_PRODUCT_NAME, "23737CU")},
-	 (void *)2},
 	{},
 };
 
@@ -795,7 +790,8 @@ static int acpi_processor_setup_cstates(struct acpi_processor *pr)
 		if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2 ||
 		    cx->type == ACPI_STATE_C3) {
 			state->enter_dead = acpi_idle_play_dead;
-			drv->safe_state_index = count;
+			if (cx->type != ACPI_STATE_C3)
+				drv->safe_state_index = count;
 		}
 		/*
 		 * Halt-induced C1 is not good for ->enter_s2idle, because it
drivers/android/binder.c +9 -1
index 8351c5638880..f3b639e89dd8 100644
@@ -2295,6 +2295,7 @@ static int binder_do_deferred_txn_copies(struct binder_alloc *alloc,
 {
 	int ret = 0;
 	struct binder_sg_copy *sgc, *tmpsgc;
+	struct binder_ptr_fixup *tmppf;
 	struct binder_ptr_fixup *pf =
 		list_first_entry_or_null(pf_head, struct binder_ptr_fixup,
 					 node);
@@ -2349,7 +2350,11 @@ static int binder_do_deferred_txn_copies(struct binder_alloc *alloc,
 		list_del(&sgc->node);
 		kfree(sgc);
 	}
-	BUG_ON(!list_empty(pf_head));
+	list_for_each_entry_safe(pf, tmppf, pf_head, node) {
+		BUG_ON(pf->skip_size == 0);
+		list_del(&pf->node);
+		kfree(pf);
+	}
 	BUG_ON(!list_empty(sgc_head));
 
 	return ret > 0 ? -EINVAL : ret;
@@ -2486,6 +2491,9 @@ static int binder_translate_fd_array(struct list_head *pf_head,
 	struct binder_proc *proc = thread->proc;
 	int ret;
 
+	if (fda->num_fds == 0)
+		return 0;
+
 	fd_buf_size = sizeof(u32) * fda->num_fds;
 	if (fda->num_fds >= SIZE_MAX / sizeof(u32)) {
 		binder_user_error("%d:%d got transaction with invalid number of fds (%lld)\n",
drivers/base/arch_topology.c +10 -1
index 976154140f0b..78b911a2c4c7 100644
@@ -628,6 +628,15 @@ const struct cpumask *cpu_coregroup_mask(int cpu)
 			core_mask = &cpu_topology[cpu].llc_sibling;
 	}
 
+	/*
+	 * For systems with no shared cpu-side LLC but with clusters defined,
+	 * extend core_mask to cluster_siblings. The sched domain builder will
+	 * then remove MC as redundant with CLS if SCHED_CLUSTER is enabled.
+	 */
+	if (IS_ENABLED(CONFIG_SCHED_CLUSTER) &&
+	    cpumask_subset(core_mask, &cpu_topology[cpu].cluster_sibling))
+		core_mask = &cpu_topology[cpu].cluster_sibling;
+
 	return core_mask;
 }
 
@@ -645,7 +654,7 @@ void update_siblings_masks(unsigned int cpuid)
 	for_each_online_cpu(cpu) {
 		cpu_topo = &cpu_topology[cpu];
 
-		if (cpuid_topo->llc_id == cpu_topo->llc_id) {
+		if (cpu_topo->llc_id != -1 && cpuid_topo->llc_id == cpu_topo->llc_id) {
 			cpumask_set_cpu(cpu, &cpuid_topo->llc_sibling);
 			cpumask_set_cpu(cpuid, &cpu_topo->llc_sibling);
 		}
drivers/block/Kconfig +16 -0
index 519b6d38d4df..fdb81f2794cd 100644
@@ -33,6 +33,22 @@ config BLK_DEV_FD
 	  To compile this driver as a module, choose M here: the
 	  module will be called floppy.
 
+config BLK_DEV_FD_RAWCMD
+	bool "Support for raw floppy disk commands (DEPRECATED)"
+	depends on BLK_DEV_FD
+	help
+	  If you want to use actual physical floppies and expect to do
+	  special low-level hardware accesses to them (access and use
+	  non-standard formats, for example), then enable this.
+
+	  Note that the code enabled by this option is rarely used and
+	  might be unstable or insecure, and distros should not enable it.
+
+	  Note: FDRAWCMD is deprecated and will be removed from the kernel
+	  in the near future.
+
+	  If unsure, say N.
+
 config AMIGA_FLOPPY
 	tristate "Amiga floppy support"
 	depends on AMIGA
drivers/block/floppy.c +32 -11

67 lines not on this page · raw message

drivers/bus/fsl-mc/fsl-mc-msi.c +5 -1
index 5e0e4393ce4d..0cfe859a4ac4 100644
@@ -224,8 +224,12 @@ int fsl_mc_msi_domain_alloc_irqs(struct device *dev,  unsigned int irq_count)
 	if (error)
 		return error;
 
+	msi_lock_descs(dev);
 	if (msi_first_desc(dev, MSI_DESC_ALL))
-		return -EINVAL;
+		error = -EINVAL;
+	msi_unlock_descs(dev);
+	if (error)
+		return error;
 
 	/*
 	 * NOTE: Calling this function will trigger the invocation of the
drivers/bus/mhi/pci_generic.c +2 -0
index 9527b7d63840..541ced27d941 100644
@@ -1060,6 +1060,7 @@ static int __maybe_unused mhi_pci_freeze(struct device *dev)
 	 * the intermediate restore kernel reinitializes MHI device with new
 	 * context.
 	 */
+	flush_work(&mhi_pdev->recovery_work);
 	if (test_and_clear_bit(MHI_PCI_DEV_STARTED, &mhi_pdev->status)) {
 		mhi_power_down(mhi_cntrl, true);
 		mhi_unprepare_after_power_down(mhi_cntrl);
@@ -1085,6 +1086,7 @@ static const struct dev_pm_ops mhi_pci_pm_ops = {
 	.resume = mhi_pci_resume,
 	.freeze = mhi_pci_freeze,
 	.thaw = mhi_pci_restore,
+	.poweroff = mhi_pci_freeze,
 	.restore = mhi_pci_restore,
 #endif
 };
drivers/bus/sunxi-rsb.c +2 -0
index 4566e730ef2b..60b082fe2ed0 100644
@@ -227,6 +227,8 @@ static struct sunxi_rsb_device *sunxi_rsb_device_create(struct sunxi_rsb *rsb,
 
 	dev_dbg(&rdev->dev, "device %s registered\n", dev_name(&rdev->dev));
 
+	return rdev;
+
 err_device_add:
 	put_device(&rdev->dev);
 
drivers/bus/ti-sysc.c +15 -1
index 54c0ee6dda30..7a1b1f9e4933 100644
@@ -3232,13 +3232,27 @@ static int sysc_check_disabled_devices(struct sysc *ddata)
  */
 static int sysc_check_active_timer(struct sysc *ddata)
 {
+	int error;
+
 	if (ddata->cap->type != TI_SYSC_OMAP2_TIMER &&
 	    ddata->cap->type != TI_SYSC_OMAP4_TIMER)
 		return 0;
 
+	/*
+	 * Quirk for omap3 beagleboard revision A to B4 to use gpt12.
+	 * Revision C and later are fixed with commit 23885389dbbb ("ARM:
+	 * dts: Fix timer regression for beagleboard revision c"). This all
+	 * can be dropped if we stop supporting old beagleboard revisions
+	 * A to B4 at some point.
+	 */
+	if (sysc_soc->soc == SOC_3430)
+		error = -ENXIO;
+	else
+		error = -EBUSY;
+
 	if ((ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT) &&
 	    (ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE))
-		return -ENXIO;
+		return error;
 
 	return 0;
 }
drivers/clk/sunxi/clk-sun9i-mmc.c +2 -0
index 542b31d6e96d..636bcf2439ef 100644
@@ -109,6 +109,8 @@ static int sun9i_a80_mmc_config_clk_probe(struct platform_device *pdev)
 	spin_lock_init(&data->lock);
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!r)
+		return -EINVAL;
 	/* one clock/reset pair per word */
 	count = DIV_ROUND_UP((resource_size(r)), SUN9I_MMC_WIDTH);
 	data->membase = devm_ioremap_resource(&pdev->dev, r);
drivers/cpufreq/qcom-cpufreq-hw.c +31 -11

100 lines not on this page · raw message

drivers/cpufreq/sun50i-cpufreq-nvmem.c +3 -1
index 2deed8d8773f..75e1bf3a08f7 100644
@@ -98,8 +98,10 @@ static int sun50i_cpufreq_nvmem_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	ret = sun50i_cpufreq_get_efuse(&speed);
-	if (ret)
+	if (ret) {
+		kfree(opp_tables);
 		return ret;
+	}
 
 	snprintf(name, MAX_NAME_LEN, "speed%d", speed);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +70 -35

123 lines not on this page · raw message

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +37 -46

180 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +1 -0
index ca1bbc942fd4..67f3cae553e0 100644
@@ -1427,6 +1427,7 @@ static struct clock_source *dcn21_clock_source_create(
 		return &clk_src->base;
 	}
 
+	kfree(clk_src);
 	BREAK_TO_DEBUGGER();
 	return NULL;
 }
drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +26 -8
index 97cf3cac0105..fb6cf30ee628 100644
@@ -97,6 +97,14 @@
 
 #define INTEL_EDP_BRIGHTNESS_OPTIMIZATION_1                            0x359
 
+enum intel_dp_aux_backlight_modparam {
+	INTEL_DP_AUX_BACKLIGHT_AUTO = -1,
+	INTEL_DP_AUX_BACKLIGHT_OFF = 0,
+	INTEL_DP_AUX_BACKLIGHT_ON = 1,
+	INTEL_DP_AUX_BACKLIGHT_FORCE_VESA = 2,
+	INTEL_DP_AUX_BACKLIGHT_FORCE_INTEL = 3,
+};
+
 /* Intel EDP backlight callbacks */
 static bool
 intel_dp_aux_supports_hdr_backlight(struct intel_connector *connector)
@@ -126,6 +134,24 @@ intel_dp_aux_supports_hdr_backlight(struct intel_connector *connector)
 		return false;
 	}
 
+	/*
+	 * If we don't have HDR static metadata there is no way to
+	 * runtime detect used range for nits based control. For now
+	 * do not use Intel proprietary eDP backlight control if we
+	 * don't have this data in panel EDID. In case we find panel
+	 * which supports only nits based control, but doesn't provide
+	 * HDR static metadata we need to start maintaining table of
+	 * ranges for such panels.
+	 */
+	if (i915->params.enable_dpcd_backlight != INTEL_DP_AUX_BACKLIGHT_FORCE_INTEL &&
+	    !(connector->base.hdr_sink_metadata.hdmi_type1.metadata_type &
+	      BIT(HDMI_STATIC_METADATA_TYPE1))) {
+		drm_info(&i915->drm,
+			 "Panel is missing HDR static metadata. Possible support for Intel HDR backlight interface is not used. If your backlight controls don't work try booting with i915.enable_dpcd_backlight=%d. needs this, please file a _new_ bug report on drm/i915, see " FDO_BUG_URL " for details.\n",
+			 INTEL_DP_AUX_BACKLIGHT_FORCE_INTEL);
+		return false;
+	}
+
 	panel->backlight.edp.intel.sdr_uses_aux =
 		tcon_cap[2] & INTEL_EDP_SDR_TCON_BRIGHTNESS_AUX_CAP;
 
@@ -413,14 +439,6 @@ static const struct intel_panel_bl_funcs intel_dp_vesa_bl_funcs = {
 	.get = intel_dp_aux_vesa_get_backlight,
 };
 
-enum intel_dp_aux_backlight_modparam {
-	INTEL_DP_AUX_BACKLIGHT_AUTO = -1,
-	INTEL_DP_AUX_BACKLIGHT_OFF = 0,
-	INTEL_DP_AUX_BACKLIGHT_ON = 1,
-	INTEL_DP_AUX_BACKLIGHT_FORCE_VESA = 2,
-	INTEL_DP_AUX_BACKLIGHT_FORCE_INTEL = 3,
-};
-
 int intel_dp_aux_init_backlight_funcs(struct intel_connector *connector)
 {
 	struct drm_device *dev = connector->base.dev;
drivers/gpu/drm/i915/i915_reg.h +1 -1
index 902e4c802a12..4b8fee1be8ae 100644
@@ -7578,7 +7578,7 @@ enum {
 #define _SEL_FETCH_PLANE_BASE_6_A		0x70940
 #define _SEL_FETCH_PLANE_BASE_7_A		0x70960
 #define _SEL_FETCH_PLANE_BASE_CUR_A		0x70880
-#define _SEL_FETCH_PLANE_BASE_1_B		0x70990
+#define _SEL_FETCH_PLANE_BASE_1_B		0x71890
 
 #define _SEL_FETCH_PLANE_BASE_A(plane) _PICK(plane, \
 					     _SEL_FETCH_PLANE_BASE_1_A, \
drivers/gpu/drm/sun4i/sun4i_frontend.c +0 -3
index 56ae38389db0..462fae73eae9 100644
@@ -222,13 +222,11 @@ void sun4i_frontend_update_buffer(struct sun4i_frontend *frontend,
 
 	/* Set the physical address of the buffer in memory */
 	paddr = drm_fb_cma_get_gem_addr(fb, state, 0);
-	paddr -= PHYS_OFFSET;
 	DRM_DEBUG_DRIVER("Setting buffer #0 address to %pad\n", &paddr);
 	regmap_write(frontend->regs, SUN4I_FRONTEND_BUF_ADDR0_REG, paddr);
 
 	if (fb->format->num_planes > 1) {
 		paddr = drm_fb_cma_get_gem_addr(fb, state, swap ? 2 : 1);
-		paddr -= PHYS_OFFSET;
 		DRM_DEBUG_DRIVER("Setting buffer #1 address to %pad\n", &paddr);
 		regmap_write(frontend->regs, SUN4I_FRONTEND_BUF_ADDR1_REG,
 			     paddr);
@@ -236,7 +234,6 @@ void sun4i_frontend_update_buffer(struct sun4i_frontend *frontend,
 
 	if (fb->format->num_planes > 2) {
 		paddr = drm_fb_cma_get_gem_addr(fb, state, swap ? 1 : 2);
-		paddr -= PHYS_OFFSET;
 		DRM_DEBUG_DRIVER("Setting buffer #2 address to %pad\n", &paddr);
 		regmap_write(frontend->regs, SUN4I_FRONTEND_BUF_ADDR2_REG,
 			     paddr);
drivers/iio/chemical/scd4x.c +4 -1
index 267bc3c05338..746a40365e97 100644
@@ -471,12 +471,15 @@ static ssize_t calibration_forced_value_store(struct device *dev,
 	ret = scd4x_write_and_fetch(state, CMD_FRC, arg, &val, sizeof(val));
 	mutex_unlock(&state->lock);
 
+	if (ret)
+		return ret;
+
 	if (val == 0xff) {
 		dev_err(dev, "forced calibration has failed");
 		return -EINVAL;
 	}
 
-	return ret ?: len;
+	return len;
 }
 
 static IIO_DEVICE_ATTR_RW(calibration_auto_enable, 0);
drivers/iio/dac/ad3552r.c +3 -3
index 97f13c0b9631..d5ea1a1be122 100644
@@ -656,7 +656,7 @@ static int ad3552r_reset(struct ad3552r_desc *dac)
 {
 	struct reg_addr_pool addr;
 	int ret;
-	u16 val;
+	int val;
 
 	dac->gpio_reset = devm_gpiod_get_optional(&dac->spi->dev, "reset",
 						  GPIOD_OUT_LOW);
@@ -809,10 +809,10 @@ static int ad3552r_configure_custom_gain(struct ad3552r_desc *dac,
 
 	gain_child = fwnode_get_named_child_node(child,
 						 "custom-output-range-config");
-	if (IS_ERR(gain_child)) {
+	if (!gain_child) {
 		dev_err(dev,
 			"mandatory custom-output-range-config property missing\n");
-		return PTR_ERR(gain_child);
+		return -EINVAL;
 	}
 
 	dac->ch_data[ch].range_override = 1;
drivers/iio/dac/ad5446.c +1 -1
index 1c9b54c012a7..ddf18f13fa4e 100644
@@ -178,7 +178,7 @@ static int ad5446_read_raw(struct iio_dev *indio_dev,
 
 	switch (m) {
 	case IIO_CHAN_INFO_RAW:
-		*val = st->cached_val;
+		*val = st->cached_val >> chan->scan_type.shift;
 		return IIO_VAL_INT;
 	case IIO_CHAN_INFO_SCALE:
 		*val = st->vref_mv;
drivers/iio/dac/ad5592r-base.c +1 -1
index 2fcc59728fd6..4f58d1ad68d7 100644
@@ -523,7 +523,7 @@ static int ad5592r_alloc_channels(struct iio_dev *iio_dev)
 		if (!ret)
 			st->channel_modes[reg] = tmp;
 
-		fwnode_property_read_u32(child, "adi,off-state", &tmp);
+		ret = fwnode_property_read_u32(child, "adi,off-state", &tmp);
 		if (!ret)
 			st->channel_offstate[reg] = tmp;
 	}
drivers/iio/filter/Kconfig +1 -0
index 3ae35817ad82..a85b345ea14e 100644
@@ -8,6 +8,7 @@ menu "Filters"
 config ADMV8818
 	tristate "Analog Devices ADMV8818 High-Pass and Low-Pass Filter"
 	depends on SPI && COMMON_CLK && 64BIT
+	select REGMAP_SPI
 	help
 	  Say yes here to build support for Analog Devices ADMV8818
 	  2 GHz to 18 GHz, Digitally Tunable, High-Pass and Low-Pass Filter.
drivers/iio/imu/bmi160/bmi160_core.c +14 -6
index 824b5124a5f5..01336105792e 100644
@@ -730,7 +730,7 @@ static int bmi160_chip_init(struct bmi160_data *data, bool use_spi)
 
 	ret = regmap_write(data->regmap, BMI160_REG_CMD, BMI160_CMD_SOFTRESET);
 	if (ret)
-		return ret;
+		goto disable_regulator;
 
 	usleep_range(BMI160_SOFTRESET_USLEEP, BMI160_SOFTRESET_USLEEP + 1);
 
@@ -741,29 +741,37 @@ static int bmi160_chip_init(struct bmi160_data *data, bool use_spi)
 	if (use_spi) {
 		ret = regmap_read(data->regmap, BMI160_REG_DUMMY, &val);
 		if (ret)
-			return ret;
+			goto disable_regulator;
 	}
 
 	ret = regmap_read(data->regmap, BMI160_REG_CHIP_ID, &val);
 	if (ret) {
 		dev_err(dev, "Error reading chip id\n");
-		return ret;
+		goto disable_regulator;
 	}
 	if (val != BMI160_CHIP_ID_VAL) {
 		dev_err(dev, "Wrong chip id, got %x expected %x\n",
 			val, BMI160_CHIP_ID_VAL);
-		return -ENODEV;
+		ret = -ENODEV;
+		goto disable_regulator;
 	}
 
 	ret = bmi160_set_mode(data, BMI160_ACCEL, true);
 	if (ret)
-		return ret;
+		goto disable_regulator;
 
 	ret = bmi160_set_mode(data, BMI160_GYRO, true);
 	if (ret)
-		return ret;
+		goto disable_accel;
 
 	return 0;
+
+disable_accel:
+	bmi160_set_mode(data, BMI160_ACCEL, false);
+
+disable_regulator:
+	regulator_bulk_disable(ARRAY_SIZE(data->supplies), data->supplies);
+	return ret;
 }
 
 static int bmi160_data_rdy_trigger_set_state(struct iio_trigger *trig,
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c +9 -6
index 33d9afb1ba91..d4a692b838d0 100644
@@ -18,12 +18,15 @@ static int inv_icm42600_i2c_bus_setup(struct inv_icm42600_state *st)
 	unsigned int mask, val;
 	int ret;
 
-	/* setup interface registers */
-	ret = regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG6,
-				 INV_ICM42600_INTF_CONFIG6_MASK,
-				 INV_ICM42600_INTF_CONFIG6_I3C_EN);
-	if (ret)
-		return ret;
+	/*
+	 * setup interface registers
+	 * This register write to REG_INTF_CONFIG6 enables a spike filter that
+	 * is impacting the line and can prevent the I2C ACK to be seen by the
+	 * controller. So we don't test the return value.
+	 */
+	regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG6,
+			   INV_ICM42600_INTF_CONFIG6_MASK,
+			   INV_ICM42600_INTF_CONFIG6_I3C_EN);
 
 	ret = regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG4,
 				 INV_ICM42600_INTF_CONFIG4_I3C_BUS_ONLY, 0);
drivers/iio/magnetometer/ak8975.c +1 -0
index 55879a20ae52..30181bc23b38 100644
@@ -416,6 +416,7 @@ static int ak8975_power_on(const struct ak8975_data *data)
 	if (ret) {
 		dev_warn(&data->client->dev,
 			 "Failed to enable specified Vid supply\n");
+		regulator_disable(data->vdd);
 		return ret;
 	}
 
drivers/input/keyboard/cypress-sf.c +14 -0
index c28996028e80..9a23eed6a4f4 100644
@@ -61,6 +61,14 @@ static irqreturn_t cypress_sf_irq_handler(int irq, void *devid)
 	return IRQ_HANDLED;
 }
 
+static void cypress_sf_disable_regulators(void *arg)
+{
+	struct cypress_sf_data *touchkey = arg;
+
+	regulator_bulk_disable(ARRAY_SIZE(touchkey->regulators),
+			       touchkey->regulators);
+}
+
 static int cypress_sf_probe(struct i2c_client *client)
 {
 	struct cypress_sf_data *touchkey;
@@ -121,6 +129,12 @@ static int cypress_sf_probe(struct i2c_client *client)
 		return error;
 	}
 
+	error = devm_add_action_or_reset(&client->dev,
+					 cypress_sf_disable_regulators,
+					 touchkey);
+	if (error)
+		return error;
+
 	touchkey->input_dev = devm_input_allocate_device(&client->dev);
 	if (!touchkey->input_dev) {
 		dev_err(&client->dev, "Failed to allocate input device\n");
drivers/interconnect/qcom/sc7180.c +0 -21
index 12d59c36df53..5f7c0f85fa8e 100644
@@ -47,7 +47,6 @@ DEFINE_QNODE(qnm_mnoc_sf, SC7180_MASTER_MNOC_SF_MEM_NOC, 1, 32, SC7180_SLAVE_GEM
 DEFINE_QNODE(qnm_snoc_gc, SC7180_MASTER_SNOC_GC_MEM_NOC, 1, 8, SC7180_SLAVE_LLCC);
 DEFINE_QNODE(qnm_snoc_sf, SC7180_MASTER_SNOC_SF_MEM_NOC, 1, 16, SC7180_SLAVE_LLCC);
 DEFINE_QNODE(qxm_gpu, SC7180_MASTER_GFX3D, 2, 32, SC7180_SLAVE_GEM_NOC_SNOC, SC7180_SLAVE_LLCC);
-DEFINE_QNODE(ipa_core_master, SC7180_MASTER_IPA_CORE, 1, 8, SC7180_SLAVE_IPA_CORE);
 DEFINE_QNODE(llcc_mc, SC7180_MASTER_LLCC, 2, 4, SC7180_SLAVE_EBI1);
 DEFINE_QNODE(qhm_mnoc_cfg, SC7180_MASTER_CNOC_MNOC_CFG, 1, 4, SC7180_SLAVE_SERVICE_MNOC);
 DEFINE_QNODE(qxm_camnoc_hf0, SC7180_MASTER_CAMNOC_HF0, 2, 32, SC7180_SLAVE_MNOC_HF_MEM_NOC);
@@ -129,7 +128,6 @@ DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4);
 DEFINE_QNODE(qns_gem_noc_snoc, SC7180_SLAVE_GEM_NOC_SNOC, 1, 8, SC7180_MASTER_GEM_NOC_SNOC);
 DEFINE_QNODE(qns_llcc, SC7180_SLAVE_LLCC, 1, 16, SC7180_MASTER_LLCC);
 DEFINE_QNODE(srvc_gemnoc, SC7180_SLAVE_SERVICE_GEM_NOC, 1, 4);
-DEFINE_QNODE(ipa_core_slave, SC7180_SLAVE_IPA_CORE, 1, 8);
 DEFINE_QNODE(ebi, SC7180_SLAVE_EBI1, 2, 4);
 DEFINE_QNODE(qns_mem_noc_hf, SC7180_SLAVE_MNOC_HF_MEM_NOC, 1, 32, SC7180_MASTER_MNOC_HF_MEM_NOC);
 DEFINE_QNODE(qns_mem_noc_sf, SC7180_SLAVE_MNOC_SF_MEM_NOC, 1, 32, SC7180_MASTER_MNOC_SF_MEM_NOC);
@@ -160,7 +158,6 @@ DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi);
 DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc);
 DEFINE_QBCM(bcm_mm0, "MM0", false, &qns_mem_noc_hf);
 DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto);
-DEFINE_QBCM(bcm_ip0, "IP0", false, &ipa_core_slave);
 DEFINE_QBCM(bcm_cn0, "CN0", true, &qnm_snoc, &xm_qdss_dap, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_ahb2phy0, &qhs_aop, &qhs_aoss, &qhs_boot_rom, &qhs_camera_cfg, &qhs_camera_nrt_throttle_cfg, &qhs_camera_rt_throttle_cfg, &qhs_clk_ctl, &qhs_cpr_cx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_display_rt_throttle_cfg, &qhs_display_throttle_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_mss_cfg, &qhs_npu_cfg, &qhs_npu_dma_throttle_cfg, &qhs_npu_dsp_throttle_cfg, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qm_cfg, &qhs_qm_mpu_cfg, &qhs_qup0, &qhs_qup1, &qhs_security, &qhs_snoc_cfg, &qhs_tcsr, &qhs_tlmm_1, &qhs_tlmm_2, &qhs_tlmm_3, &qhs_ufs_mem_cfg, &qhs_usb3, &qhs_venus_cfg, &qhs_venus_throttle_cfg, &qhs_vsense_ctrl_cfg, &srvc_cnoc);
 DEFINE_QBCM(bcm_mm1, "MM1", false, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qhm_mnoc_cfg, &qxm_mdp0, &qxm_rot, &qxm_venus0, &qxm_venus_arm9);
 DEFINE_QBCM(bcm_sh2, "SH2", false, &acm_sys_tcu);
@@ -372,22 +369,6 @@ static struct qcom_icc_desc sc7180_gem_noc = {
 	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
 };
 
-static struct qcom_icc_bcm *ipa_virt_bcms[] = {
-	&bcm_ip0,
-};
-
-static struct qcom_icc_node *ipa_virt_nodes[] = {
-	[MASTER_IPA_CORE] = &ipa_core_master,
-	[SLAVE_IPA_CORE] = &ipa_core_slave,
-};
-
-static struct qcom_icc_desc sc7180_ipa_virt = {
-	.nodes = ipa_virt_nodes,
-	.num_nodes = ARRAY_SIZE(ipa_virt_nodes),
-	.bcms = ipa_virt_bcms,
-	.num_bcms = ARRAY_SIZE(ipa_virt_bcms),
-};
-
 static struct qcom_icc_bcm *mc_virt_bcms[] = {
 	&bcm_acv,
 	&bcm_mc0,
@@ -519,8 +500,6 @@ static const struct of_device_id qnoc_of_match[] = {
 	  .data = &sc7180_dc_noc},
 	{ .compatible = "qcom,sc7180-gem-noc",
 	  .data = &sc7180_gem_noc},
-	{ .compatible = "qcom,sc7180-ipa-virt",
-	  .data = &sc7180_ipa_virt},
 	{ .compatible = "qcom,sc7180-mc-virt",
 	  .data = &sc7180_mc_virt},
 	{ .compatible = "qcom,sc7180-mmss-noc",
drivers/interconnect/qcom/sdx55.c +0 -21
index 03d604f84cc5..e3ac25a997b7 100644
@@ -18,7 +18,6 @@
 #include "icc-rpmh.h"
 #include "sdx55.h"
 
-DEFINE_QNODE(ipa_core_master, SDX55_MASTER_IPA_CORE, 1, 8, SDX55_SLAVE_IPA_CORE);
 DEFINE_QNODE(llcc_mc, SDX55_MASTER_LLCC, 4, 4, SDX55_SLAVE_EBI_CH0);
 DEFINE_QNODE(acm_tcu, SDX55_MASTER_TCU_0, 1, 8, SDX55_SLAVE_LLCC, SDX55_SLAVE_MEM_NOC_SNOC, SDX55_SLAVE_MEM_NOC_PCIE_SNOC);
 DEFINE_QNODE(qnm_snoc_gc, SDX55_MASTER_SNOC_GC_MEM_NOC, 1, 8, SDX55_SLAVE_LLCC);
@@ -40,7 +39,6 @@ DEFINE_QNODE(xm_pcie, SDX55_MASTER_PCIE, 1, 8, SDX55_SLAVE_ANOC_SNOC);
 DEFINE_QNODE(xm_qdss_etr, SDX55_MASTER_QDSS_ETR, 1, 8, SDX55_SLAVE_SNOC_CFG, SDX55_SLAVE_EMAC_CFG, SDX55_SLAVE_USB3, SDX55_SLAVE_AOSS, SDX55_SLAVE_SPMI_FETCHER, SDX55_SLAVE_QDSS_CFG, SDX55_SLAVE_PDM, SDX55_SLAVE_SNOC_MEM_NOC_GC, SDX55_SLAVE_TCSR, SDX55_SLAVE_CNOC_DDRSS, SDX55_SLAVE_SPMI_VGI_COEX, SDX55_SLAVE_QPIC, SDX55_SLAVE_OCIMEM, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_USB3_PHY_CFG, SDX55_SLAVE_AOP, SDX55_SLAVE_BLSP_1, SDX55_SLAVE_SDCC_1, SDX55_SLAVE_CNOC_MSS, SDX55_SLAVE_PCIE_PARF, SDX55_SLAVE_ECC_CFG, SDX55_SLAVE_AUDIO, SDX55_SLAVE_AOSS, SDX55_SLAVE_PRNG, SDX55_SLAVE_CRYPTO_0_CFG, SDX55_SLAVE_TCU, SDX55_SLAVE_CLK_CTL, SDX55_SLAVE_IMEM_CFG);
 DEFINE_QNODE(xm_sdc1, SDX55_MASTER_SDCC_1, 1, 8, SDX55_SLAVE_AOSS, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_ANOC_SNOC, SDX55_SLAVE_AOP, SDX55_SLAVE_AUDIO);
 DEFINE_QNODE(xm_usb3, SDX55_MASTER_USB3, 1, 8, SDX55_SLAVE_ANOC_SNOC);
-DEFINE_QNODE(ipa_core_slave, SDX55_SLAVE_IPA_CORE, 1, 8);
 DEFINE_QNODE(ebi, SDX55_SLAVE_EBI_CH0, 1, 4);
 DEFINE_QNODE(qns_llcc, SDX55_SLAVE_LLCC, 1, 16, SDX55_SLAVE_EBI_CH0);
 DEFINE_QNODE(qns_memnoc_snoc, SDX55_SLAVE_MEM_NOC_SNOC, 1, 8, SDX55_MASTER_MEM_NOC_SNOC);
@@ -82,7 +80,6 @@ DEFINE_QNODE(xs_sys_tcu_cfg, SDX55_SLAVE_TCU, 1, 8);
 DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi);
 DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc);
 DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto);
-DEFINE_QBCM(bcm_ip0, "IP0", false, &ipa_core_slave);
 DEFINE_QBCM(bcm_pn0, "PN0", false, &qhm_snoc_cfg);
 DEFINE_QBCM(bcm_sh3, "SH3", false, &xm_apps_rdwr);
 DEFINE_QBCM(bcm_sh4, "SH4", false, &qns_memnoc_snoc, &qns_sys_pcie);
@@ -219,22 +216,6 @@ static const struct qcom_icc_desc sdx55_system_noc = {
 	.num_bcms = ARRAY_SIZE(system_noc_bcms),
 };
 
-static struct qcom_icc_bcm *ipa_virt_bcms[] = {
-	&bcm_ip0,
-};
-
-static struct qcom_icc_node *ipa_virt_nodes[] = {
-	[MASTER_IPA_CORE] = &ipa_core_master,
-	[SLAVE_IPA_CORE] = &ipa_core_slave,
-};
-
-static const struct qcom_icc_desc sdx55_ipa_virt = {
-	.nodes = ipa_virt_nodes,
-	.num_nodes = ARRAY_SIZE(ipa_virt_nodes),
-	.bcms = ipa_virt_bcms,
-	.num_bcms = ARRAY_SIZE(ipa_virt_bcms),
-};
-
 static const struct of_device_id qnoc_of_match[] = {
 	{ .compatible = "qcom,sdx55-mc-virt",
 	  .data = &sdx55_mc_virt},
@@ -242,8 +223,6 @@ static const struct of_device_id qnoc_of_match[] = {
 	  .data = &sdx55_mem_noc},
 	{ .compatible = "qcom,sdx55-system-noc",
 	  .data = &sdx55_system_noc},
-	{ .compatible = "qcom,sdx55-ipa-virt",
-	  .data = &sdx55_ipa_virt},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, qnoc_of_match);
drivers/memory/renesas-rpc-if.c +46 -14

101 lines not on this page · raw message

drivers/misc/eeprom/at25.c +11 -8
index bee727ed98db..d22044edcc9f 100644
@@ -31,6 +31,8 @@
  */
 
 #define	FM25_SN_LEN	8		/* serial number length */
+#define EE_MAXADDRLEN	3		/* 24 bit addresses, up to 2 MBytes */
+
 struct at25_data {
 	struct spi_eeprom	chip;
 	struct spi_device	*spi;
@@ -39,6 +41,7 @@ struct at25_data {
 	struct nvmem_config	nvmem_config;
 	struct nvmem_device	*nvmem;
 	u8 sernum[FM25_SN_LEN];
+	u8 command[EE_MAXADDRLEN + 1];
 };
 
 #define	AT25_WREN	0x06		/* latch the write enable */
@@ -61,8 +64,6 @@ struct at25_data {
 
 #define	FM25_ID_LEN	9		/* ID length */
 
-#define EE_MAXADDRLEN	3		/* 24 bit addresses, up to 2 MBytes */
-
 /*
  * Specs often allow 5ms for a page write, sometimes 20ms;
  * it's important to recover from write timeouts.
@@ -78,7 +79,6 @@ static int at25_ee_read(void *priv, unsigned int offset,
 {
 	struct at25_data *at25 = priv;
 	char *buf = val;
-	u8			command[EE_MAXADDRLEN + 1];
 	u8			*cp;
 	ssize_t			status;
 	struct spi_transfer	t[2];
@@ -92,12 +92,15 @@ static int at25_ee_read(void *priv, unsigned int offset,
 	if (unlikely(!count))
 		return -EINVAL;
 
-	cp = command;
+	cp = at25->command;
 
 	instr = AT25_READ;
 	if (at25->chip.flags & EE_INSTR_BIT3_IS_ADDR)
 		if (offset >= BIT(at25->addrlen * 8))
 			instr |= AT25_INSTR_BIT3;
+
+	mutex_lock(&at25->lock);
+
 	*cp++ = instr;
 
 	/* 8/16/24-bit address is written MSB first */
@@ -116,7 +119,7 @@ static int at25_ee_read(void *priv, unsigned int offset,
 	spi_message_init(&m);
 	memset(t, 0, sizeof(t));
 
-	t[0].tx_buf = command;
+	t[0].tx_buf = at25->command;
 	t[0].len = at25->addrlen + 1;
 	spi_message_add_tail(&t[0], &m);
 
@@ -124,8 +127,6 @@ static int at25_ee_read(void *priv, unsigned int offset,
 	t[1].len = count;
 	spi_message_add_tail(&t[1], &m);
 
-	mutex_lock(&at25->lock);
-
 	/*
 	 * Read it all at once.
 	 *
@@ -152,7 +153,7 @@ static int fm25_aux_read(struct at25_data *at25, u8 *buf, uint8_t command,
 	spi_message_init(&m);
 	memset(t, 0, sizeof(t));
 
-	t[0].tx_buf = &command;
+	t[0].tx_buf = at25->command;
 	t[0].len = 1;
 	spi_message_add_tail(&t[0], &m);
 
@@ -162,6 +163,8 @@ static int fm25_aux_read(struct at25_data *at25, u8 *buf, uint8_t command,
 
 	mutex_lock(&at25->lock);
 
+	at25->command[0] = command;
+
 	status = spi_sync(at25->spi, &m);
 	dev_dbg(&at25->spi->dev, "read %d aux bytes --> %d\n", len, status);
 
drivers/mtd/nand/raw/mtk_ecc.c +8 -4
index 1b47964cb6da..4f6adb657c89 100644
@@ -43,6 +43,7 @@
 
 struct mtk_ecc_caps {
 	u32 err_mask;
+	u32 err_shift;
 	const u8 *ecc_strength;
 	const u32 *ecc_regs;
 	u8 num_ecc_strength;
@@ -76,7 +77,7 @@ static const u8 ecc_strength_mt2712[] = {
 };
 
 static const u8 ecc_strength_mt7622[] = {
-	4, 6, 8, 10, 12, 14, 16
+	4, 6, 8, 10, 12
 };
 
 enum mtk_ecc_regs {
@@ -221,7 +222,7 @@ void mtk_ecc_get_stats(struct mtk_ecc *ecc, struct mtk_ecc_stats *stats,
 	for (i = 0; i < sectors; i++) {
 		offset = (i >> 2) << 2;
 		err = readl(ecc->regs + ECC_DECENUM0 + offset);
-		err = err >> ((i % 4) * 8);
+		err = err >> ((i % 4) * ecc->caps->err_shift);
 		err &= ecc->caps->err_mask;
 		if (err == ecc->caps->err_mask) {
 			/* uncorrectable errors */
@@ -449,6 +450,7 @@ EXPORT_SYMBOL(mtk_ecc_get_parity_bits);
 
 static const struct mtk_ecc_caps mtk_ecc_caps_mt2701 = {
 	.err_mask = 0x3f,
+	.err_shift = 8,
 	.ecc_strength = ecc_strength_mt2701,
 	.ecc_regs = mt2701_ecc_regs,
 	.num_ecc_strength = 20,
@@ -459,6 +461,7 @@ static const struct mtk_ecc_caps mtk_ecc_caps_mt2701 = {
 
 static const struct mtk_ecc_caps mtk_ecc_caps_mt2712 = {
 	.err_mask = 0x7f,
+	.err_shift = 8,
 	.ecc_strength = ecc_strength_mt2712,
 	.ecc_regs = mt2712_ecc_regs,
 	.num_ecc_strength = 23,
@@ -468,10 +471,11 @@ static const struct mtk_ecc_caps mtk_ecc_caps_mt2712 = {
 };
 
 static const struct mtk_ecc_caps mtk_ecc_caps_mt7622 = {
-	.err_mask = 0x3f,
+	.err_mask = 0x1f,
+	.err_shift = 5,
 	.ecc_strength = ecc_strength_mt7622,
 	.ecc_regs = mt7622_ecc_regs,
-	.num_ecc_strength = 7,
+	.num_ecc_strength = 5,
 	.ecc_mode_shift = 4,
 	.parity_bits = 13,
 	.pg_irq_sel = 0,
drivers/mtd/nand/raw/qcom_nandc.c +13 -11
index 1a77542c6d67..048b255faa76 100644
@@ -2651,10 +2651,23 @@ static int qcom_nand_attach_chip(struct nand_chip *chip)
 	ecc->engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST;
 
 	mtd_set_ooblayout(mtd, &qcom_nand_ooblayout_ops);
+	/* Free the initially allocated BAM transaction for reading the ONFI params */
+	if (nandc->props->is_bam)
+		free_bam_transaction(nandc);
 
 	nandc->max_cwperpage = max_t(unsigned int, nandc->max_cwperpage,
 				     cwperpage);
 
+	/* Now allocate the BAM transaction based on updated max_cwperpage */
+	if (nandc->props->is_bam) {
+		nandc->bam_txn = alloc_bam_transaction(nandc);
+		if (!nandc->bam_txn) {
+			dev_err(nandc->dev,
+				"failed to allocate bam transaction\n");
+			return -ENOMEM;
+		}
+	}
+
 	/*
 	 * DATA_UD_BYTES varies based on whether the read/write command protects
 	 * spare data with ECC too. We protect spare data by default, so we set
@@ -2955,17 +2968,6 @@ static int qcom_nand_host_init_and_register(struct qcom_nand_controller *nandc,
 	if (ret)
 		return ret;
 
-	if (nandc->props->is_bam) {
-		free_bam_transaction(nandc);
-		nandc->bam_txn = alloc_bam_transaction(nandc);
-		if (!nandc->bam_txn) {
-			dev_err(nandc->dev,
-				"failed to allocate bam transaction\n");
-			nand_cleanup(chip);
-			return -ENOMEM;
-		}
-	}
-
 	ret = mtd_device_parse_register(mtd, probes, NULL, NULL, 0);
 	if (ret)
 		nand_cleanup(chip);
drivers/mtd/nand/raw/sh_flctl.c +8 -6
index 13df4bdf792a..8f89e2d3d817 100644
@@ -384,7 +384,8 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,
 	dma_addr_t dma_addr;
 	dma_cookie_t cookie;
 	uint32_t reg;
-	int ret;
+	int ret = 0;
+	unsigned long time_left;
 
 	if (dir == DMA_FROM_DEVICE) {
 		chan = flctl->chan_fifo0_rx;
@@ -425,13 +426,14 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,
 		goto out;
 	}
 
-	ret =
+	time_left =
 	wait_for_completion_timeout(&flctl->dma_complete,
 				msecs_to_jiffies(3000));
 
-	if (ret <= 0) {
+	if (time_left == 0) {
 		dmaengine_terminate_all(chan);
 		dev_err(&flctl->pdev->dev, "wait_for_completion_timeout\n");
+		ret = -ETIMEDOUT;
 	}
 
 out:
@@ -441,7 +443,7 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,
 
 	dma_unmap_single(chan->device->dev, dma_addr, len, dir);
 
-	/* ret > 0 is success */
+	/* ret == 0 is success */
 	return ret;
 }
 
@@ -465,7 +467,7 @@ static void read_fiforeg(struct sh_flctl *flctl, int rlen, int offset)
 
 	/* initiate DMA transfer */
 	if (flctl->chan_fifo0_rx && rlen >= 32 &&
-		flctl_dma_fifo0_transfer(flctl, buf, rlen, DMA_FROM_DEVICE) > 0)
+		!flctl_dma_fifo0_transfer(flctl, buf, rlen, DMA_FROM_DEVICE))
 			goto convert;	/* DMA success */
 
 	/* do polling transfer */
@@ -524,7 +526,7 @@ static void write_ec_fiforeg(struct sh_flctl *flctl, int rlen,
 
 	/* initiate DMA transfer */
 	if (flctl->chan_fifo0_tx && rlen >= 32 &&
-		flctl_dma_fifo0_transfer(flctl, buf, rlen, DMA_TO_DEVICE) > 0)
+		!flctl_dma_fifo0_transfer(flctl, buf, rlen, DMA_TO_DEVICE))
 			return;	/* DMA success */
 
 	/* do polling transfer */
drivers/net/bonding/bond_main.c +9 -4
index aebeb46e6fa6..c9107a8b4b90 100644
@@ -3819,14 +3819,19 @@ static bool bond_flow_dissect(struct bonding *bond, struct sk_buff *skb, const v
 	return true;
 }
 
-static u32 bond_ip_hash(u32 hash, struct flow_keys *flow)
+static u32 bond_ip_hash(u32 hash, struct flow_keys *flow, int xmit_policy)
 {
 	hash ^= (__force u32)flow_get_u32_dst(flow) ^
 		(__force u32)flow_get_u32_src(flow);
 	hash ^= (hash >> 16);
 	hash ^= (hash >> 8);
+
 	/* discard lowest hash bit to deal with the common even ports pattern */
-	return hash >> 1;
+	if (xmit_policy == BOND_XMIT_POLICY_LAYER34 ||
+		xmit_policy == BOND_XMIT_POLICY_ENCAP34)
+		return hash >> 1;
+
+	return hash;
 }
 
 /* Generate hash based on xmit policy. If @skb is given it is used to linearize
@@ -3856,7 +3861,7 @@ static u32 __bond_xmit_hash(struct bonding *bond, struct sk_buff *skb, const voi
 			memcpy(&hash, &flow.ports.ports, sizeof(hash));
 	}
 
-	return bond_ip_hash(hash, &flow);
+	return bond_ip_hash(hash, &flow, bond->params.xmit_policy);
 }
 
 /**
@@ -5051,7 +5056,7 @@ static u32 bond_sk_hash_l34(struct sock *sk)
 	/* L4 */
 	memcpy(&hash, &flow.ports.ports, sizeof(hash));
 	/* L3 */
-	return bond_ip_hash(hash, &flow);
+	return bond_ip_hash(hash, &flow, BOND_XMIT_POLICY_LAYER34);
 }
 
 static struct net_device *__bond_sk_get_lower_dev(struct bonding *bond,
drivers/net/dsa/lantiq_gswip.c +0 -3
index 8a7a8093a156..8acec33a4702 100644
@@ -1637,9 +1637,6 @@ static void gswip_phylink_mac_config(struct dsa_switch *ds, int port,
 		break;
 	case PHY_INTERFACE_MODE_RMII:
 		miicfg |= GSWIP_MII_CFG_MODE_RMIIM;
-
-		/* Configure the RMII clock as output: */
-		miicfg |= GSWIP_MII_CFG_RMII_CLK;
 		break;
 	case PHY_INTERFACE_MODE_RGMII:
 	case PHY_INTERFACE_MODE_RGMII_ID:
drivers/net/dsa/mv88e6xxx/port_hidden.c +3 -2
index b49d05f0e117..7a9f9ff6dedf 100644
@@ -40,8 +40,9 @@ int mv88e6xxx_port_hidden_wait(struct mv88e6xxx_chip *chip)
 {
 	int bit = __bf_shf(MV88E6XXX_PORT_RESERVED_1A_BUSY);
 
-	return mv88e6xxx_wait_bit(chip, MV88E6XXX_PORT_RESERVED_1A_CTRL_PORT,
-				  MV88E6XXX_PORT_RESERVED_1A, bit, 0);
+	return mv88e6xxx_port_wait_bit(chip,
+				       MV88E6XXX_PORT_RESERVED_1A_CTRL_PORT,
+				       MV88E6XXX_PORT_RESERVED_1A, bit, 0);
 }
 
 int mv88e6xxx_port_hidden_read(struct mv88e6xxx_chip *chip, int block, int port,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +5 -4
index c19b072f3a23..962253db25b8 100644
@@ -14153,10 +14153,6 @@ static int bnx2x_eeh_nic_unload(struct bnx2x *bp)
 
 	/* Stop Tx */
 	bnx2x_tx_disable(bp);
-	/* Delete all NAPI objects */
-	bnx2x_del_all_napi(bp);
-	if (CNIC_LOADED(bp))
-		bnx2x_del_all_napi_cnic(bp);
 	netdev_reset_tc(bp->dev);
 
 	del_timer_sync(&bp->timer);
@@ -14261,6 +14257,11 @@ static pci_ers_result_t bnx2x_io_slot_reset(struct pci_dev *pdev)
 		bnx2x_drain_tx_queues(bp);
 		bnx2x_send_unload_req(bp, UNLOAD_RECOVERY);
 		bnx2x_netif_stop(bp, 1);
+		bnx2x_del_all_napi(bp);
+
+		if (CNIC_LOADED(bp))
+			bnx2x_del_all_napi_cnic(bp);
+
 		bnx2x_free_irq(bp);
 
 		/* Report UNLOAD_DONE to MCP */
drivers/net/ethernet/broadcom/genet/bcmgenet.c +7 -0
index 2da804f84b48..c2bfb25e087c 100644
@@ -2035,6 +2035,11 @@ static struct sk_buff *bcmgenet_add_tsb(struct net_device *dev,
 	return skb;
 }
 
+static void bcmgenet_hide_tsb(struct sk_buff *skb)
+{
+	__skb_pull(skb, sizeof(struct status_64));
+}
+
 static netdev_tx_t bcmgenet_xmit(struct sk_buff *skb, struct net_device *dev)
 {
 	struct bcmgenet_priv *priv = netdev_priv(dev);
@@ -2141,6 +2146,8 @@ static netdev_tx_t bcmgenet_xmit(struct sk_buff *skb, struct net_device *dev)
 	}
 
 	GENET_CB(skb)->last_cb = tx_cb_ptr;
+
+	bcmgenet_hide_tsb(skb);
 	skb_tx_timestamp(skb);
 
 	/* Decrement total BD count and advance our write pointer */
drivers/net/ethernet/freescale/enetc/enetc_qos.c +0 -4
index d3d7172e0fcc..3b148d4e0f0c 100644
@@ -308,10 +308,6 @@ int enetc_setup_tc_txtime(struct net_device *ndev, void *type_data)
 	if (tc < 0 || tc >= priv->num_tx_rings)
 		return -EINVAL;
 
-	/* Do not support TXSTART and TX CSUM offload simutaniously */
-	if (ndev->features & NETIF_F_CSUM_MASK)
-		return -EBUSY;
-
 	/* TSD and Qbv are mutually exclusive in hardware */
 	if (enetc_rd(&priv->si->hw, ENETC_QBV_PTGCR_OFFSET) & ENETC_QBV_TGE)
 		return -EBUSY;
drivers/net/ethernet/freescale/fec_main.c +1 -1
index 796133de527e..870919c66518 100644
@@ -3731,7 +3731,7 @@ static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
 					 ARRAY_SIZE(out_val));
 	if (ret) {
 		dev_dbg(&fep->pdev->dev, "no stop mode property\n");
-		return ret;
+		goto out;
 	}
 
 	fep->stop_gpr.gpr = syscon_node_to_regmap(gpr_np);
drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_tqp_stats.c +2 -2
index 0c60f41fca8a..f3c9395d8351 100644
@@ -75,7 +75,7 @@ int hclge_comm_tqps_update_stats(struct hnae3_handle *handle,
 		ret = hclge_comm_cmd_send(hw, &desc, 1);
 		if (ret) {
 			dev_err(&hw->cmq.csq.pdev->dev,
-				"failed to get tqp stat, ret = %d, tx = %u.\n",
+				"failed to get tqp stat, ret = %d, rx = %u.\n",
 				ret, i);
 			return ret;
 		}
@@ -89,7 +89,7 @@ int hclge_comm_tqps_update_stats(struct hnae3_handle *handle,
 		ret = hclge_comm_cmd_send(hw, &desc, 1);
 		if (ret) {
 			dev_err(&hw->cmq.csq.pdev->dev,
-				"failed to get tqp stat, ret = %d, rx = %u.\n",
+				"failed to get tqp stat, ret = %d, tx = %u.\n",
 				ret, i);
 			return ret;
 		}
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +9 -0
index f6082be7481c..f33b4c351a70 100644
@@ -5132,6 +5132,13 @@ static void hns3_state_init(struct hnae3_handle *handle)
 		set_bit(HNS3_NIC_STATE_RXD_ADV_LAYOUT_ENABLE, &priv->state);
 }
 
+static void hns3_state_uninit(struct hnae3_handle *handle)
+{
+	struct hns3_nic_priv *priv  = handle->priv;
+
+	clear_bit(HNS3_NIC_STATE_INITED, &priv->state);
+}
+
 static int hns3_client_init(struct hnae3_handle *handle)
 {
 	struct pci_dev *pdev = handle->pdev;
@@ -5249,7 +5256,9 @@ static int hns3_client_init(struct hnae3_handle *handle)
 	return ret;
 
 out_reg_netdev_fail:
+	hns3_state_uninit(handle);
 	hns3_dbg_uninit(handle);
+	hns3_client_stop(handle);
 out_client_start:
 	hns3_free_rx_cpu_rmap(netdev);
 	hns3_nic_uninit_irq(priv);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +20 -11
index 6799d16de34b..7998ca617a92 100644
@@ -94,6 +94,13 @@ static int hclge_send_mbx_msg(struct hclge_vport *vport, u8 *msg, u16 msg_len,
 	enum hclge_comm_cmd_status status;
 	struct hclge_desc desc;
 
+	if (msg_len > HCLGE_MBX_MAX_MSG_SIZE) {
+		dev_err(&hdev->pdev->dev,
+			"msg data length(=%u) exceeds maximum(=%u)\n",
+			msg_len, HCLGE_MBX_MAX_MSG_SIZE);
+		return -EMSGSIZE;
+	}
+
 	resp_pf_to_vf = (struct hclge_mbx_pf_to_vf_cmd *)desc.data;
 
 	hclge_cmd_setup_basic_desc(&desc, HCLGEVF_OPC_MBX_PF_TO_VF, false);
@@ -176,7 +183,7 @@ static int hclge_get_ring_chain_from_mbx(
 	ring_num = req->msg.ring_num;
 
 	if (ring_num > HCLGE_MBX_MAX_RING_CHAIN_PARAM_NUM)
-		return -ENOMEM;
+		return -EINVAL;
 
 	for (i = 0; i < ring_num; i++) {
 		if (req->msg.param[i].tqp_index >= vport->nic.kinfo.rss_size) {
@@ -587,9 +594,9 @@ static int hclge_set_vf_mtu(struct hclge_vport *vport,
 	return hclge_set_vport_mtu(vport, mtu);
 }
 
-static void hclge_get_queue_id_in_pf(struct hclge_vport *vport,
-				     struct hclge_mbx_vf_to_pf_cmd *mbx_req,
-				     struct hclge_respond_to_vf_msg *resp_msg)
+static int hclge_get_queue_id_in_pf(struct hclge_vport *vport,
+				    struct hclge_mbx_vf_to_pf_cmd *mbx_req,
+				    struct hclge_respond_to_vf_msg *resp_msg)
 {
 	struct hnae3_handle *handle = &vport->nic;
 	struct hclge_dev *hdev = vport->back;
@@ -599,17 +606,18 @@ static void hclge_get_queue_id_in_pf(struct hclge_vport *vport,
 	if (queue_id >= handle->kinfo.num_tqps) {
 		dev_err(&hdev->pdev->dev, "Invalid queue id(%u) from VF %u\n",
 			queue_id, mbx_req->mbx_src_vfid);
-		return;
+		return -EINVAL;
 	}
 
 	qid_in_pf = hclge_covert_handle_qid_global(&vport->nic, queue_id);
 	memcpy(resp_msg->data, &qid_in_pf, sizeof(qid_in_pf));
 	resp_msg->len = sizeof(qid_in_pf);
+	return 0;
 }
 
-static void hclge_get_rss_key(struct hclge_vport *vport,
-			      struct hclge_mbx_vf_to_pf_cmd *mbx_req,
-			      struct hclge_respond_to_vf_msg *resp_msg)
+static int hclge_get_rss_key(struct hclge_vport *vport,
+			     struct hclge_mbx_vf_to_pf_cmd *mbx_req,
+			     struct hclge_respond_to_vf_msg *resp_msg)
 {
 #define HCLGE_RSS_MBX_RESP_LEN	8
 	struct hclge_dev *hdev = vport->back;
@@ -627,13 +635,14 @@ static void hclge_get_rss_key(struct hclge_vport *vport,
 		dev_warn(&hdev->pdev->dev,
 			 "failed to get the rss hash key, the index(%u) invalid !\n",
 			 index);
-		return;
+		return -EINVAL;
 	}
 
 	memcpy(resp_msg->data,
 	       &rss_cfg->rss_hash_key[index * HCLGE_RSS_MBX_RESP_LEN],
 	       HCLGE_RSS_MBX_RESP_LEN);
 	resp_msg->len = HCLGE_RSS_MBX_RESP_LEN;
+	return 0;
 }
 
 static void hclge_link_fail_parse(struct hclge_dev *hdev, u8 link_fail_code)
@@ -809,10 +818,10 @@ void hclge_mbx_handler(struct hclge_dev *hdev)
 					"VF fail(%d) to set mtu\n", ret);
 			break;
 		case HCLGE_MBX_GET_QID_IN_PF:
-			hclge_get_queue_id_in_pf(vport, req, &resp_msg);
+			ret = hclge_get_queue_id_in_pf(vport, req, &resp_msg);
 			break;
 		case HCLGE_MBX_GET_RSS_KEY:
-			hclge_get_rss_key(vport, req, &resp_msg);
+			ret = hclge_get_rss_key(vport, req, &resp_msg);
 			break;
 		case HCLGE_MBX_GET_LINK_MODE:
 			hclge_get_link_mode(vport, req);
drivers/net/ethernet/ibm/ibmvnic.c +35 -94

192 lines not on this page · raw message

drivers/net/ethernet/ibm/ibmvnic.h +0 -6
index 8f5cefb932dd..1310c861bf83 100644
@@ -41,11 +41,6 @@
 
 #define IBMVNIC_RESET_DELAY 100
 
-static const char ibmvnic_priv_flags[][ETH_GSTRING_LEN] = {
-#define IBMVNIC_USE_SERVER_MAXES 0x1
-	"use-server-maxes"
-};
-
 struct ibmvnic_login_buffer {
 	__be32 len;
 	__be32 version;
@@ -883,7 +878,6 @@ struct ibmvnic_adapter {
 	struct ibmvnic_control_ip_offload_buffer ip_offload_ctrl;
 	dma_addr_t ip_offload_ctrl_tok;
 	u32 msg_enable;
-	u32 priv_flags;
 
 	/* Vital Product Data (VPD) */
 	struct ibmvnic_vpd *vpd;
drivers/net/ethernet/intel/ice/ice_main.c +3 -0
index 2de2bbbca1e9..e347030ee2e3 100644
@@ -6662,12 +6662,15 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
 
 	dev_dbg(dev, "rebuilding PF after reset_type=%d\n", reset_type);
 
+#define ICE_EMP_RESET_SLEEP_MS 5000
 	if (reset_type == ICE_RESET_EMPR) {
 		/* If an EMP reset has occurred, any previously pending flash
 		 * update will have completed. We no longer know whether or
 		 * not the NVM update EMP reset is restricted.
 		 */
 		pf->fw_emp_reset_disabled = false;
+
+		msleep(ICE_EMP_RESET_SLEEP_MS);
 	}
 
 	err = ice_init_all_ctrlq(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c +2 -1
index e596e1a9fc75..69d11ff7677d 100644
@@ -903,7 +903,8 @@ int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
 	/* Tx IPsec offload doesn't seem to work on this
 	 * device, so block these requests for now.
 	 */
-	if (!(sam->flags & XFRM_OFFLOAD_INBOUND)) {
+	sam->flags = sam->flags & ~XFRM_OFFLOAD_IPV6;
+	if (sam->flags != XFRM_OFFLOAD_INBOUND) {
 		err = -EOPNOTSUPP;
 		goto err_out;
 	}
drivers/net/ethernet/microchip/lan966x/lan966x_mac.c +2 -2
index 2679111ef669..005e56ea5da1 100644
@@ -346,7 +346,7 @@ static void lan966x_mac_irq_process(struct lan966x *lan966x, u32 row,
 
 			lan966x_mac_process_raw_entry(&raw_entries[column],
 						      mac, &vid, &dest_idx);
-			if (WARN_ON(dest_idx > lan966x->num_phys_ports))
+			if (WARN_ON(dest_idx >= lan966x->num_phys_ports))
 				continue;
 
 			/* If the entry in SW is found, then there is nothing
@@ -393,7 +393,7 @@ static void lan966x_mac_irq_process(struct lan966x *lan966x, u32 row,
 
 		lan966x_mac_process_raw_entry(&raw_entries[column],
 					      mac, &vid, &dest_idx);
-		if (WARN_ON(dest_idx > lan966x->num_phys_ports))
+		if (WARN_ON(dest_idx >= lan966x->num_phys_ports))
 			continue;
 
 		mac_entry = lan966x_mac_alloc_entry(mac, vid, dest_idx);
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c +7 -5
index ac9e6c7a33b5..6b447d8f0bd8 100644
@@ -65,8 +65,9 @@ static void socfpga_dwmac_fix_mac_speed(void *priv, unsigned int speed)
 	struct phy_device *phy_dev = ndev->phydev;
 	u32 val;
 
-	writew(SGMII_ADAPTER_DISABLE,
-	       sgmii_adapter_base + SGMII_ADAPTER_CTRL_REG);
+	if (sgmii_adapter_base)
+		writew(SGMII_ADAPTER_DISABLE,
+		       sgmii_adapter_base + SGMII_ADAPTER_CTRL_REG);
 
 	if (splitter_base) {
 		val = readl(splitter_base + EMAC_SPLITTER_CTRL_REG);
@@ -88,10 +89,11 @@ static void socfpga_dwmac_fix_mac_speed(void *priv, unsigned int speed)
 		writel(val, splitter_base + EMAC_SPLITTER_CTRL_REG);
 	}
 
-	writew(SGMII_ADAPTER_ENABLE,
-	       sgmii_adapter_base + SGMII_ADAPTER_CTRL_REG);
-	if (phy_dev)
+	if (phy_dev && sgmii_adapter_base) {
+		writew(SGMII_ADAPTER_ENABLE,
+		       sgmii_adapter_base + SGMII_ADAPTER_CTRL_REG);
 		tse_pcs_fix_mac_speed(&dwmac->pcs, phy_dev, speed);
+	}
 }
 
 static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device *dev)
drivers/net/hippi/rrunner.c +2 -0
index 16105292b140..74e845fa2e07 100644
@@ -1355,7 +1355,9 @@ static int rr_close(struct net_device *dev)
 
 	rrpriv->fw_running = 0;
 
+	spin_unlock_irqrestore(&rrpriv->lock, flags);
 	del_timer_sync(&rrpriv->timer);
+	spin_lock_irqsave(&rrpriv->lock, flags);
 
 	writel(0, &regs->TxPi);
 	writel(0, &regs->IpRxPi);
drivers/net/phy/marvell10g.c +1 -1
index b6fea119fe13..2b7d0720720b 100644
@@ -880,7 +880,7 @@ static int mv3310_read_status_copper(struct phy_device *phydev)
 
 	cssr1 = phy_read_mmd(phydev, MDIO_MMD_PCS, MV_PCS_CSSR1);
 	if (cssr1 < 0)
-		return val;
+		return cssr1;
 
 	/* If the link settings are not resolved, mark the link down */
 	if (!(cssr1 & MV_PCS_CSSR1_RESOLVED)) {
drivers/net/virtio_net.c +19 -1
index a801ea40908f..3b02dd54e2e2 100644
@@ -978,6 +978,24 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
 			 * xdp.data_meta were adjusted
 			 */
 			len = xdp.data_end - xdp.data + vi->hdr_len + metasize;
+
+			/* recalculate headroom if xdp.data or xdp_data_meta
+			 * were adjusted, note that offset should always point
+			 * to the start of the reserved bytes for virtio_net
+			 * header which are followed by xdp.data, that means
+			 * that offset is equal to the headroom (when buf is
+			 * starting at the beginning of the page, otherwise
+			 * there is a base offset inside the page) but it's used
+			 * with a different starting point (buf start) than
+			 * xdp.data (buf start + vnet hdr size). If xdp.data or
+			 * data_meta were adjusted by the xdp prog then the
+			 * headroom size has changed and so has the offset, we
+			 * can use data_hard_start, which points at buf start +
+			 * vnet hdr size, to calculate the new headroom and use
+			 * it later to compute buf start in page_to_skb()
+			 */
+			headroom = xdp.data - xdp.data_hard_start - metasize;
+
 			/* We can only create skb based on xdp_page. */
 			if (unlikely(xdp_page != page)) {
 				rcu_read_unlock();
@@ -985,7 +1003,7 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
 				head_skb = page_to_skb(vi, rq, xdp_page, offset,
 						       len, PAGE_SIZE, false,
 						       metasize,
-						       VIRTIO_XDP_HEADROOM);
+						       headroom);
 				return head_skb;
 			}
 			break;
drivers/net/wireguard/device.c +2 -1
index a46067c38bf5..5eaef79c06e1 100644
@@ -19,6 +19,7 @@
 #include <linux/if_arp.h>
 #include <linux/icmp.h>
 #include <linux/suspend.h>
+#include <net/dst_metadata.h>
 #include <net/icmp.h>
 #include <net/rtnetlink.h>
 #include <net/ip_tunnels.h>
@@ -152,7 +153,7 @@ static netdev_tx_t wg_xmit(struct sk_buff *skb, struct net_device *dev)
 		goto err_peer;
 	}
 
-	mtu = skb_dst(skb) ? dst_mtu(skb_dst(skb)) : dev->mtu;
+	mtu = skb_valid_dst(skb) ? dst_mtu(skb_dst(skb)) : dev->mtu;
 
 	__skb_queue_head_init(&packets);
 	if (!skb_is_gso(skb)) {
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c +12 -8
index 5b471ab80fe2..54d65a6f0fcc 100644
@@ -414,19 +414,19 @@ static int phy_g12a_usb3_pcie_probe(struct platform_device *pdev)
 
 	ret = clk_prepare_enable(priv->clk_ref);
 	if (ret)
-		goto err_disable_clk_ref;
+		return ret;
 
 	priv->reset = devm_reset_control_array_get_exclusive(dev);
-	if (IS_ERR(priv->reset))
-		return PTR_ERR(priv->reset);
+	if (IS_ERR(priv->reset)) {
+		ret = PTR_ERR(priv->reset);
+		goto err_disable_clk_ref;
+	}
 
 	priv->phy = devm_phy_create(dev, np, &phy_g12a_usb3_pcie_ops);
 	if (IS_ERR(priv->phy)) {
 		ret = PTR_ERR(priv->phy);
-		if (ret != -EPROBE_DEFER)
-			dev_err(dev, "failed to create PHY\n");
-
-		return ret;
+		dev_err_probe(dev, ret, "failed to create PHY\n");
+		goto err_disable_clk_ref;
 	}
 
 	phy_set_drvdata(priv->phy, priv);
@@ -434,8 +434,12 @@ static int phy_g12a_usb3_pcie_probe(struct platform_device *pdev)
 
 	phy_provider = devm_of_phy_provider_register(dev,
 						     phy_g12a_usb3_pcie_xlate);
+	if (IS_ERR(phy_provider)) {
+		ret = PTR_ERR(phy_provider);
+		goto err_disable_clk_ref;
+	}
 
-	return PTR_ERR_OR_ZERO(phy_provider);
+	return 0;
 
 err_disable_clk_ref:
 	clk_disable_unprepare(priv->clk_ref);
drivers/phy/motorola/phy-mapphone-mdm6600.c +2 -1
index 5172971f4c36..3cd4d51c247c 100644
@@ -629,7 +629,8 @@ static int phy_mdm6600_probe(struct platform_device *pdev)
 cleanup:
 	if (error < 0)
 		phy_mdm6600_device_power_off(ddata);
-
+	pm_runtime_disable(ddata->dev);
+	pm_runtime_dont_use_autosuspend(ddata->dev);
 	return error;
 }
 
drivers/phy/samsung/phy-exynos5250-sata.c +15 -6
index 9ec234243f7c..595adba5fb8f 100644
@@ -187,6 +187,7 @@ static int exynos_sata_phy_probe(struct platform_device *pdev)
 		return -EINVAL;
 
 	sata_phy->client = of_find_i2c_device_by_node(node);
+	of_node_put(node);
 	if (!sata_phy->client)
 		return -EPROBE_DEFER;
 
@@ -195,20 +196,21 @@ static int exynos_sata_phy_probe(struct platform_device *pdev)
 	sata_phy->phyclk = devm_clk_get(dev, "sata_phyctrl");
 	if (IS_ERR(sata_phy->phyclk)) {
 		dev_err(dev, "failed to get clk for PHY\n");
-		return PTR_ERR(sata_phy->phyclk);
+		ret = PTR_ERR(sata_phy->phyclk);
+		goto put_dev;
 	}
 
 	ret = clk_prepare_enable(sata_phy->phyclk);
 	if (ret < 0) {
 		dev_err(dev, "failed to enable source clk\n");
-		return ret;
+		goto put_dev;
 	}
 
 	sata_phy->phy = devm_phy_create(dev, NULL, &exynos_sata_phy_ops);
 	if (IS_ERR(sata_phy->phy)) {
-		clk_disable_unprepare(sata_phy->phyclk);
 		dev_err(dev, "failed to create PHY\n");
-		return PTR_ERR(sata_phy->phy);
+		ret = PTR_ERR(sata_phy->phy);
+		goto clk_disable;
 	}
 
 	phy_set_drvdata(sata_phy->phy, sata_phy);
@@ -216,11 +218,18 @@ static int exynos_sata_phy_probe(struct platform_device *pdev)
 	phy_provider = devm_of_phy_provider_register(dev,
 					of_phy_simple_xlate);
 	if (IS_ERR(phy_provider)) {
-		clk_disable_unprepare(sata_phy->phyclk);
-		return PTR_ERR(phy_provider);
+		ret = PTR_ERR(phy_provider);
+		goto clk_disable;
 	}
 
 	return 0;
+
+clk_disable:
+	clk_disable_unprepare(sata_phy->phyclk);
+put_dev:
+	put_device(&sata_phy->client->dev);
+
+	return ret;
 }
 
 static const struct of_device_id exynos_sata_phy_of_match[] = {
drivers/phy/ti/phy-am654-serdes.c +1 -1
index c1211c4f863c..0be727bb9f79 100644
@@ -838,7 +838,7 @@ static int serdes_am654_probe(struct platform_device *pdev)
 
 clk_err:
 	of_clk_del_provider(node);
-
+	pm_runtime_disable(dev);
 	return ret;
 }
 
drivers/phy/ti/phy-omap-usb2.c +1 -1
index 3a505fe5715a..31a775877f6e 100644
@@ -215,7 +215,7 @@ static int omap_usb2_enable_clocks(struct omap_usb *phy)
 	return 0;
 
 err1:
-	clk_disable(phy->wkupclk);
+	clk_disable_unprepare(phy->wkupclk);
 
 err0:
 	return ret;
drivers/pinctrl/mediatek/Kconfig +1 -0
index 66db4ac5d169..c7fa1525e42a 100644
@@ -30,6 +30,7 @@ config PINCTRL_MTK_MOORE
 	select GENERIC_PINMUX_FUNCTIONS
 	select GPIOLIB
 	select OF_GPIO
+	select EINT_MTK
 	select PINCTRL_MTK_V2
 
 config PINCTRL_MTK_PARIS
drivers/pinctrl/pinctrl-pistachio.c +3 -3
index 8d271c6b0ca4..5de691c630b4 100644
@@ -1374,10 +1374,10 @@ static int pistachio_gpio_register(struct pistachio_pinctrl *pctl)
 		}
 
 		irq = irq_of_parse_and_map(child, 0);
-		if (irq < 0) {
-			dev_err(pctl->dev, "No IRQ for bank %u: %d\n", i, irq);
+		if (!irq) {
+			dev_err(pctl->dev, "No IRQ for bank %u\n", i);
 			of_node_put(child);
-			ret = irq;
+			ret = -EINVAL;
 			goto err;
 		}
 
drivers/pinctrl/pinctrl-rockchip.c +30 -15

52 lines not on this page · raw message

drivers/pinctrl/qcom/pinctrl-sm6350.c +8 -8
index 4d37b817b232..a91a86628f2f 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/samsung/Kconfig +4 -7
index dfd805e76862..7b0576f71376 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/stm32/pinctrl-stm32.c +21 -2
index 9ed764731570..f7c9459f6628 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-wmi.c +10 -5
index adab31b52f2a..1e7bc0c595c7 100644

Lines of this file are not shown. View the raw message.

drivers/soc/imx/imx8m-blk-ctrl.c +1 -1
index 511e74f0db8a..e096cca9f18a 100644

Lines of this file are not shown. View the raw message.

drivers/tee/optee/ffa_abi.c +1 -0
index f744ab15bf2c..30a6119a2b16 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/intel/int340x_thermal/int3400_thermal.c +2 -2
index a0b599100106..ba7eab0c62d4 100644

Lines of this file are not shown. View the raw message.

drivers/tty/n_gsm.c +276 -201

477 lines not on this page · raw message

drivers/tty/serial/8250/8250_pci.c +4 -4
index e17e97ea86fa..a293e9f107d0 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_port.c +1 -1
index 9f116e75956e..992b71efd4a3 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/amba-pl011.c +7 -2
index ba053a68529f..26d2a031aee2 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/imx.c +1 -1
index df8a0c8b8b29..8dcffa69088a 100644

Lines of this file are not shown. View the raw message.

drivers/usb/cdns3/cdns3-gadget.c +5 -2
index f9af7ebe003d..d6d515d598dc 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/devio.c +9 -5
index fa66e6e58792..656ba91c3283 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/quirks.c +6 -0
index d3c14b5ed4a1..97b44a68668a 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/core.c +6 -5
index f4c09951b517..f9cdfd960686 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/drd.c +5 -6
index d7f76835137f..f148b0370f82 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/dwc3-pci.c +8 -0
index 4d9608cc55f7..f08b2178fd32 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/gadget.c +30 -1
index a0c883f19a41..836049887ac8 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/configfs.c +2 -0
index d4a678c0806e..34d45525be1b 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/uvc_queue.c +2 -0
index d852ac9e47e7..2cda982f3765 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-hub.c +1 -1
index 1e7dc130c39a..f65f1ba2b592 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-pci.c +3 -1
index 5c351970cdf1..d7e0e6ebf080 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-ring.c +1 -0
index d0b6806275e0..f9707997969d 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-tegra.c +2 -2
index c8af2cd2216d..996958a6565c 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci.c +11 -0
index 7d1ad8d654cb..2b78ed323343 100644

Lines of this file are not shown. View the raw message.

drivers/usb/misc/uss720.c +1 -2
index 748139d26263..0be8efcda15d 100644

Lines of this file are not shown. View the raw message.

drivers/usb/mtu3/mtu3_dr.c +2 -4
index a6b04831b20b..9b8aded3d95e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/phy/phy-generic.c +7 -0
index 661a229c105d..34b9f8140187 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/cp210x.c +2 -0
index a27f7efcec6a..c374620a486f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/option.c +12 -0
index e7755d9cfc61..1364ce7f0abf 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/whiteheat.c +2 -3
index da65d14c9ed5..06aad0d727dd 100644

Lines of this file are not shown. View the raw message.

drivers/usb/typec/ucsi/ucsi.c +17 -7
index f0c2fa19f3e0..a6045aef0d04 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/udlfb.c +12 -2
index 90f48b71fd8f..d9eec1b60e66 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/ctree.h +1 -0
index ebb2d109e8bb..1022dd383664 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/dev-replace.c +6 -1
index 62b9651ea662..7f98d3744656 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/disk-io.c +1 -0
index b43f80c3bffd..ed986c70cbc5 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/extent_io.c +1 -0
index e93526d86a92..9b488a737f8a 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/inode.c +8 -10
index 9547088a9306..ecd305649e12 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/scrub.c +25 -1
index 2e9a322773f2..5a223de90af8 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/tree-log.c +1 -0
index 6bc8834ac8f7..7a0bfa5bedb9 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/volumes.h +3 -0
index 005c9e2a491a..c22148bebc2f 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/zoned.h +2 -2
index cbf016a7bb5d..6dee76248cb4 100644

Lines of this file are not shown. View the raw message.

fs/ceph/caps.c +4 -0
index b472cd066d1c..ca7b23dded4c 100644

Lines of this file are not shown. View the raw message.

fs/cifs/smb2ops.c +8 -0
index 5d120cd8bc78..13080d6a140b 100644

Lines of this file are not shown. View the raw message.

fs/erofs/zdata.c +4 -8
index 423bc1a61da5..a1b48bcafe63 100644

Lines of this file are not shown. View the raw message.

fs/erofs/zdata.h +1 -1
index e043216b545f..800b11c53f57 100644

Lines of this file are not shown. View the raw message.

fs/ext4/super.c +12 -7
index ba6530c2d271..fe30f483c59f 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/inode.c +2 -1
index 71f232dcf3c2..83639238a1fe 100644

Lines of this file are not shown. View the raw message.

fs/gfs2/file.c +12 -18
index b53ad18e5ccb..fa071d738c78 100644

Lines of this file are not shown. View the raw message.

fs/io_uring.c +5 -0
index fbba8342172a..87df37912055 100644

Lines of this file are not shown. View the raw message.

fs/kernfs/dir.c +6 -1
index e6d9772ddb4c..4096953390b4 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/smb2pdu.c +9 -4
index 67e8e28e3fc3..83ffa73c9348 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/vfs_cache.c +1 -0
index 29c1db66bd0f..8b873d92d785 100644

Lines of this file are not shown. View the raw message.

fs/zonefs/super.c +41 -5

46 lines not on this page · raw message

include/linux/kernel.h +1 -1
index 33f47a996513..a56354bccf29 100644

Lines of this file are not shown. View the raw message.

include/linux/mtd/mtd.h +2 -4
index 1ffa933121f6..12ed7bb071be 100644

Lines of this file are not shown. View the raw message.

include/memory/renesas-rpc-if.h +1 -0
index 7c93f5177532..9c0ad64b8d29 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/hci.h +1 -0
index 5cb095b09a94..69ef31cea582 100644

Lines of this file are not shown. View the raw message.

include/net/ip6_tunnel.h +1 -1
index a38c4f1e4e5c..74b369bddf49 100644

Lines of this file are not shown. View the raw message.

include/net/ip_tunnels.h +1 -1
index 0219fe907b26..3ec6146f8734 100644

Lines of this file are not shown. View the raw message.

include/net/tcp.h +8 -0
index b9fc978fb2ca..a3fe2f9bc01c 100644

Lines of this file are not shown. View the raw message.

lib/hexdump.c +31 -10

41 lines not on this page · raw message

mm/kasan/quarantine.c +7 -0
index 08291ed33e93..0a9def8ce5e8 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_event.c +36 -29

65 lines not on this page · raw message

net/core/lwt_bpf.c +3 -4
index 349480ef68a5..8b6b5e72b217 100644

Lines of this file are not shown. View the raw message.

net/dsa/port.c +2 -0
index 1a40c52f5a42..4368fd32c4a5 100644

Lines of this file are not shown. View the raw message.

net/ipv4/ip_gre.c +5 -7
index 99db2e41ed10..8cf86e42c1d1 100644

Lines of this file are not shown. View the raw message.

net/ipv4/syncookies.c +7 -1
index 2cb3b852d148..f33c31dd7366 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_input.c +13 -2
index bfe4112e000c..7bf84ce34d9e 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_minisocks.c +1 -1
index 7c2d3ac2363a..492737d2b7d3 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_output.c +1 -0
index 257780f93305..0b5eab685154 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_rate.c +8 -3
index fbab921670cc..9a8e014d9b5b 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_gre.c +8 -8
index 976236736146..5136959b3dc5 100644

Lines of this file are not shown. View the raw message.

net/ipv6/netfilter.c +8 -2
index 6ab710b5a1a8..118e834e9190 100644

Lines of this file are not shown. View the raw message.

net/ipv6/syncookies.c +2 -1
index d1b61d00368e..9cc123f000fb 100644

Lines of this file are not shown. View the raw message.

net/mctp/device.c +1 -1
index f86ef6d751bd..9150b9789d25 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_conn.c +1 -1
index 2c467c422dc6..fb67f1ca2495 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_proto_tcp.c +6 -15
index 8ec55cd72572..204a5cdff5b1 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_standalone.c +1 -1
index 3e1afd10a9b6..55aa55b252b2 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_set_rbtree.c +5 -1
index d600a566da32..7325bee7d144 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_socket.c +38 -14

52 lines not on this page · raw message

net/sctp/sm_sideeffect.c +4 -0
index b3815b568e8e..463c4a58d2c3 100644

Lines of this file are not shown. View the raw message.

net/smc/af_smc.c +2 -0
index 68cd110722a4..fd9d9cfd0f3d 100644

Lines of this file are not shown. View the raw message.

net/tls/tls_device.c +7 -5
index b932469ee69c..a40553e83f8b 100644

Lines of this file are not shown. View the raw message.

net/xdp/xsk.c +1 -1
index ac343cd8ff3f..39a82bfb5caa 100644

Lines of this file are not shown. View the raw message.

sound/hda/intel-dsp-config.c +9 -0
index 8b0a16ba27d3..a8fe01764b25 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs35l41-lib.c +4 -2
index e5a56bcbb223..281a710a4123 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt5682.c +9 -0
index c9ff9c89adf7..2b6c6d6b9771 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt711.c +7 -0
index 6770825d037a..ea25fd58d43a 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm8731.c +11 -8
index 86b1f6eaa599..518167d90b10 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/common/soc-acpi-intel-tgl-match.c +2 -2
index e2658bca6931..3137cea78d48 100644

Lines of this file are not shown. View the raw message.

sound/soc/soc-pcm.c +1 -1
index 9a954680d492..11c9853e9e80 100644

Lines of this file are not shown. View the raw message.

tools/objtool/check.c +4 -4
index 3470813daf4a..af675c8cf05d 100644

Lines of this file are not shown. View the raw message.

tools/objtool/elf.c +166 -23

189 lines not on this page · raw message

tools/objtool/include/objtool/elf.h +2 -2
index d22336781401..18a26e3c1329 100644

Lines of this file are not shown. View the raw message.

tools/perf/arch/arm64/util/machine.c +0 -21
index d2ce31e28cd7..41c1596e5207 100644

Lines of this file are not shown. View the raw message.

tools/perf/arch/powerpc/util/Build +0 -1
index 8a79c4126e5b..0115f3166568 100644

Lines of this file are not shown. View the raw message.

tools/perf/arch/powerpc/util/machine.c deleted +0 -25
deleted file mode 100644
index e652a1aa8132..000000000000

Lines of this file are not shown. View the raw message.

tools/perf/arch/s390/util/machine.c +0 -16
index 7644a4f6d4a4..98bc3f39d5f3 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/arm-spe.c +1 -1
index d2b64e3f588b..151cc38a171c 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/symbol-elf.c +1 -1
index 31cd59a2b66e..ecd377938eea 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/symbol.c +27 -10
index dfde9eada224..24dd8c08e901 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/symbol.h +1 -2
index fbf866d82dcc..0b893dcc8ea6 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/vm/mremap_test.c +79 -4

83 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.17.6 kernel.

All users of the 5.17 kernel series must upgrade.

The updated 5.17.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.17.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/arm/boot/dts/am33xx-l4.dtsi                                       |    2 
 arch/arm/boot/dts/am3517-evm.dts                                       |   45 
 arch/arm/boot/dts/am3517-som.dtsi                                      |    9 
 arch/arm/boot/dts/at91-sama5d3_xplained.dts                            |    8 
 arch/arm/boot/dts/at91-sama5d4_xplained.dts                            |    6 
 arch/arm/boot/dts/at91-sama7g5ek.dts                                   |    2 
 arch/arm/boot/dts/at91sam9g20ek_common.dtsi                            |    6 
 arch/arm/boot/dts/dra7-l4.dtsi                                         |    4 
 arch/arm/boot/dts/imx6qdl-apalis.dtsi                                  |   10 
 arch/arm/boot/dts/imx6ull-colibri.dtsi                                 |    2 
 arch/arm/boot/dts/logicpd-som-lv-35xx-devkit.dts                       |   15 
 arch/arm/boot/dts/logicpd-som-lv-37xx-devkit.dts                       |   15 
 arch/arm/boot/dts/logicpd-som-lv.dtsi                                  |   15 
 arch/arm/boot/dts/omap3-gta04.dtsi                                     |    2 
 arch/arm/mach-exynos/Kconfig                                           |    1 
 arch/arm/mach-omap2/omap4-common.c                                     |    2 
 arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi                      |   40 
 arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi                      |   40 
 arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts                  |    1 
 arch/arm64/boot/dts/amlogic/meson-sm1.dtsi                             |   20 
 arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx.dtsi                |    4 
 arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx.dtsi                |    4 
 arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx.dtsi                |    4 
 arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts                      |    4 
 arch/arm64/boot/dts/freescale/imx8mn.dtsi                              |   10 
 arch/arm64/boot/dts/freescale/imx8mq-tqma8mq.dtsi                      |    2 
 arch/arm64/boot/dts/freescale/imx8qm.dtsi                              |    2 
 arch/powerpc/kernel/reloc_64.S                                         |   67 -
 arch/powerpc/kernel/vmlinux.lds.S                                      |    2 
 arch/powerpc/perf/Makefile                                             |    4 
 arch/powerpc/tools/relocs_check.sh                                     |    7 
 arch/riscv/kernel/patch.c                                              |    2 
 arch/x86/include/asm/microcode.h                                       |    2 
 arch/x86/kernel/cpu/microcode/core.c                                   |    6 
 arch/x86/lib/usercopy_64.c                                             |    2 
 arch/x86/pci/xen.c                                                     |    6 
 arch/x86/power/cpu.c                                                   |   10 
 arch/xtensa/platforms/iss/console.c                                    |    8 
 block/bfq-iosched.c                                                    |   12 
 block/blk-iocost.c                                                     |   12 
 block/blk-mq.c                                                         |    9 
 drivers/acpi/processor_idle.c                                          |    8 
 drivers/android/binder.c                                               |   10 
 drivers/base/arch_topology.c                                           |   11 
 drivers/block/Kconfig                                                  |   16 
 drivers/block/floppy.c                                                 |   43 
 drivers/bus/fsl-mc/fsl-mc-msi.c                                        |    6 
 drivers/bus/mhi/pci_generic.c                                          |    2 
 drivers/bus/sunxi-rsb.c                                                |    2 
 drivers/bus/ti-sysc.c                                                  |   16 
 drivers/clk/sunxi/clk-sun9i-mmc.c                                      |    2 
 drivers/cpufreq/qcom-cpufreq-hw.c                                      |   42 
 drivers/cpufreq/sun50i-cpufreq-nvmem.c                                 |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                                |  105 +-
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c                  |   83 -
 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c                  |    1 
 drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c                  |   34 
 drivers/gpu/drm/i915/i915_reg.h                                        |    2 
 drivers/gpu/drm/sun4i/sun4i_frontend.c                                 |    3 
 drivers/iio/chemical/scd4x.c                                           |    5 
 drivers/iio/dac/ad3552r.c                                              |    6 
 drivers/iio/dac/ad5446.c                                               |    2 
 drivers/iio/dac/ad5592r-base.c                                         |    2 
 drivers/iio/filter/Kconfig                                             |    1 
 drivers/iio/imu/bmi160/bmi160_core.c                                   |   20 
 drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c                        |   15 
 drivers/iio/magnetometer/ak8975.c                                      |    1 
 drivers/input/keyboard/cypress-sf.c                                    |   14 
 drivers/interconnect/qcom/sc7180.c                                     |   21 
 drivers/interconnect/qcom/sdx55.c                                      |   21 
 drivers/memory/renesas-rpc-if.c                                        |   60 -
 drivers/misc/eeprom/at25.c                                             |   19 
 drivers/mtd/nand/raw/mtk_ecc.c                                         |   12 
 drivers/mtd/nand/raw/qcom_nandc.c                                      |   24 
 drivers/mtd/nand/raw/sh_flctl.c                                        |   14 
 drivers/net/bonding/bond_main.c                                        |   13 
 drivers/net/dsa/lantiq_gswip.c                                         |    3 
 drivers/net/dsa/mv88e6xxx/port_hidden.c                                |    5 
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c                       |    9 
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                         |    7 
 drivers/net/ethernet/freescale/enetc/enetc_qos.c                       |    4 
 drivers/net/ethernet/freescale/fec_main.c                              |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_tqp_stats.c |    4 
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c                        |    9 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c                 |   31 
 drivers/net/ethernet/ibm/ibmvnic.c                                     |  129 --
 drivers/net/ethernet/ibm/ibmvnic.h                                     |    6 
 drivers/net/ethernet/intel/ice/ice_main.c                              |    3 
 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c                         |    3 
 drivers/net/ethernet/microchip/lan966x/lan966x_mac.c                   |    4 
 drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c                    |   12 
 drivers/net/hippi/rrunner.c                                            |    2 
 drivers/net/phy/marvell10g.c                                           |    2 
 drivers/net/virtio_net.c                                               |   20 
 drivers/net/wireguard/device.c                                         |    3 
 drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c                         |   20 
 drivers/phy/motorola/phy-mapphone-mdm6600.c                            |    3 
 drivers/phy/samsung/phy-exynos5250-sata.c                              |   21 
 drivers/phy/ti/phy-am654-serdes.c                                      |    2 
 drivers/phy/ti/phy-omap-usb2.c                                         |    2 
 drivers/pinctrl/mediatek/Kconfig                                       |    1 
 drivers/pinctrl/pinctrl-pistachio.c                                    |    6 
 drivers/pinctrl/pinctrl-rockchip.c                                     |   45 
 drivers/pinctrl/qcom/pinctrl-sm6350.c                                  |   16 
 drivers/pinctrl/samsung/Kconfig                                        |   11 
 drivers/pinctrl/stm32/pinctrl-stm32.c                                  |   23 
 drivers/platform/x86/asus-wmi.c                                        |   15 
 drivers/soc/imx/imx8m-blk-ctrl.c                                       |    2 
 drivers/tee/optee/ffa_abi.c                                            |    1 
 drivers/thermal/intel/int340x_thermal/int3400_thermal.c                |    4 
 drivers/tty/n_gsm.c                                                    |  477 +++++-----
 drivers/tty/serial/8250/8250_pci.c                                     |    8 
 drivers/tty/serial/8250/8250_port.c                                    |    2 
 drivers/tty/serial/amba-pl011.c                                        |    9 
 drivers/tty/serial/imx.c                                               |    2 
 drivers/usb/cdns3/cdns3-gadget.c                                       |    7 
 drivers/usb/core/devio.c                                               |   14 
 drivers/usb/core/quirks.c                                              |    6 
 drivers/usb/dwc3/core.c                                                |   11 
 drivers/usb/dwc3/drd.c                                                 |   11 
 drivers/usb/dwc3/dwc3-pci.c                                            |    8 
 drivers/usb/dwc3/gadget.c                                              |   31 
 drivers/usb/gadget/configfs.c                                          |    2 
 drivers/usb/gadget/function/uvc_queue.c                                |    2 
 drivers/usb/host/xhci-hub.c                                            |    2 
 drivers/usb/host/xhci-pci.c                                            |    4 
 drivers/usb/host/xhci-ring.c                                           |    1 
 drivers/usb/host/xhci-tegra.c                                          |    4 
 drivers/usb/host/xhci.c                                                |   11 
 drivers/usb/misc/uss720.c                                              |    3 
 drivers/usb/mtu3/mtu3_dr.c                                             |    6 
 drivers/usb/phy/phy-generic.c                                          |    7 
 drivers/usb/serial/cp210x.c                                            |    2 
 drivers/usb/serial/option.c                                            |   12 
 drivers/usb/serial/whiteheat.c                                         |    5 
 drivers/usb/typec/ucsi/ucsi.c                                          |   24 
 drivers/video/fbdev/udlfb.c                                            |   14 
 fs/btrfs/ctree.h                                                       |    1 
 fs/btrfs/dev-replace.c                                                 |    7 
 fs/btrfs/disk-io.c                                                     |    1 
 fs/btrfs/extent_io.c                                                   |    1 
 fs/btrfs/inode.c                                                       |   18 
 fs/btrfs/scrub.c                                                       |   26 
 fs/btrfs/tree-log.c                                                    |    1 
 fs/btrfs/volumes.h                                                     |    3 
 fs/btrfs/zoned.h                                                       |    4 
 fs/ceph/caps.c                                                         |    4 
 fs/cifs/smb2ops.c                                                      |    8 
 fs/erofs/zdata.c                                                       |   12 
 fs/erofs/zdata.h                                                       |    2 
 fs/ext4/super.c                                                        |   19 
 fs/f2fs/inode.c                                                        |    3 
 fs/gfs2/file.c                                                         |   30 
 fs/io_uring.c                                                          |    5 
 fs/kernfs/dir.c                                                        |    7 
 fs/ksmbd/smb2pdu.c                                                     |   13 
 fs/ksmbd/vfs_cache.c                                                   |    1 
 fs/zonefs/super.c                                                      |   46 
 include/linux/kernel.h                                                 |    2 
 include/linux/mtd/mtd.h                                                |    6 
 include/memory/renesas-rpc-if.h                                        |    1 
 include/net/bluetooth/hci.h                                            |    1 
 include/net/ip6_tunnel.h                                               |    2 
 include/net/ip_tunnels.h                                               |    2 
 include/net/tcp.h                                                      |    8 
 lib/hexdump.c                                                          |   41 
 mm/kasan/quarantine.c                                                  |    7 
 net/bluetooth/hci_event.c                                              |   65 -
 net/core/lwt_bpf.c                                                     |    7 
 net/dsa/port.c                                                         |    2 
 net/ipv4/ip_gre.c                                                      |   12 
 net/ipv4/syncookies.c                                                  |    8 
 net/ipv4/tcp_input.c                                                   |   15 
 net/ipv4/tcp_minisocks.c                                               |    2 
 net/ipv4/tcp_output.c                                                  |    1 
 net/ipv4/tcp_rate.c                                                    |   11 
 net/ipv6/ip6_gre.c                                                     |   16 
 net/ipv6/netfilter.c                                                   |   10 
 net/ipv6/syncookies.c                                                  |    3 
 net/mctp/device.c                                                      |    2 
 net/netfilter/ipvs/ip_vs_conn.c                                        |    2 
 net/netfilter/nf_conntrack_proto_tcp.c                                 |   21 
 net/netfilter/nf_conntrack_standalone.c                                |    2 
 net/netfilter/nft_set_rbtree.c                                         |    6 
 net/netfilter/nft_socket.c                                             |   52 -
 net/sctp/sm_sideeffect.c                                               |    4 
 net/smc/af_smc.c                                                       |    2 
 net/tls/tls_device.c                                                   |   12 
 net/xdp/xsk.c                                                          |    2 
 sound/hda/intel-dsp-config.c                                           |    9 
 sound/soc/codecs/cs35l41-lib.c                                         |    6 
 sound/soc/codecs/rt5682.c                                              |    9 
 sound/soc/codecs/rt711.c                                               |    7 
 sound/soc/codecs/wm8731.c                                              |   19 
 sound/soc/intel/common/soc-acpi-intel-tgl-match.c                      |    4 
 sound/soc/soc-pcm.c                                                    |    2 
 tools/objtool/check.c                                                  |    8 
 tools/objtool/elf.c                                                    |  189 +++
 tools/objtool/include/objtool/elf.h                                    |    4 
 tools/perf/arch/arm64/util/machine.c                                   |   21 
 tools/perf/arch/powerpc/util/Build                                     |    1 
 tools/perf/arch/powerpc/util/machine.c                                 |   25 
 tools/perf/arch/s390/util/machine.c                                    |   16 
 tools/perf/util/arm-spe.c                                              |    2 
 tools/perf/util/symbol-elf.c                                           |    2 
 tools/perf/util/symbol.c                                               |   37 
 tools/perf/util/symbol.h                                               |    3 
 tools/testing/selftests/vm/mremap_test.c                               |   83 +
 209 files changed, 1988 insertions(+), 1179 deletions(-)

Adam Ford (3):
soc: imx: imx8m-blk-ctrl: Fix IMX8MN_DISPBLK_PD_ISI hang
ARM: dts: am3517-evm: Fix misc pinmuxing
ARM: dts: logicpd-som-lv: Fix wrong pinmuxing on OMAP35

Alessandro Astone (2):
binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0
binder: Address corner cases in deferred copy and fixup

Alex Deucher (1):
drm/amdgpu: don't runtime suspend if there are displays attached (v3)

Alexander Stein (1):
arm64: dts: imx8mq-tqma8mq: change the spi-nor tx

Alexey Kardashevskiy (2):
powerpc/perf: Fix 32bit compile
powerpc/64: Add UADDR64 relocation support

Andreas Gruenbacher (3):
gfs2: Minor retry logic cleanup
gfs2: Make sure not to return short direct writes
gfs2: No short reads or writes upon glock contention

Baruch Siach (1):
net: phy: marvell10g: fix return value on error

Borislav Petkov (1):
x86/cpu: Load microcode during restore_processor_state()

Bruno Thomsen (1):

      USB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader

Chao Song (1):
ASoC: Intel: soc-acpi: correct device endpoints for max98373

Christian Hewitt (2):
arm64: dts: meson: remove CPU opps below 1GHz for G12B boards
arm64: dts: meson: remove CPU opps below 1GHz for SM1 boards

Christoph Hellwig (2):
btrfs: fix direct I/O read repair for split bios
btrfs: fix direct I/O writes for split bios on zoned devices

Christophe JAILLET (2):
bus: sunxi-rsb: Fix the return value of sunxi_rsb_device_create()
ASoC: soc-pcm: use GFP_KERNEL when the code is sleepable

Christophe Leroy (1):
eeprom: at25: Use DMA safe buffers

Chuanhong Guo (1):
mtd: rawnand: fix ecc parameters for mt7622

Claudiu Beznea (2):
ARM: dts: at91: sama5d4_xplained: fix pinctrl phandle name
ARM: dts: at91: fix pinctrl phandles

Damien Le Moal (2):
zonefs: Fix management of open zones
zonefs: Clear inode information flags on inode creation

Dan Carpenter (4):
iio: dac: ad3552r: fix signedness bug in ad3552r_reset() iio:dac:ad3552r: Fix an IS_ERR() vs NULL check
net: lan966x: fix a couple off by one bugs
platform/x86: asus-wmi: Potential buffer overflow in asus_wmi_evaluate_method_buf()

Dan Vacura (1):
usb: gadget: uvc: Fix crash when encoding data for usb request

Daniel Starke (21):
tty: n_gsm: fix missing mux reset on config change at responder
tty: n_gsm: fix restart handling via CLD command
tty: n_gsm: fix decoupled mux resource
tty: n_gsm: fix mux cleanup after unregister tty device
tty: n_gsm: fix wrong signal octet encoding in convergence layer type 2
tty: n_gsm: fix frame reception handling
tty: n_gsm: fix malformed counter for out of frame data
tty: n_gsm: fix insufficient txframe size
tty: n_gsm: fix wrong DLCI release order
tty: n_gsm: fix missing explicit ldisc flush
tty: n_gsm: fix wrong command retry handling
tty: n_gsm: fix wrong command frame length field encoding
tty: n_gsm: fix wrong signal octets encoding in MSC
tty: n_gsm: fix missing tty wakeup in convergence layer type 2
tty: n_gsm: fix reset fifo race condition
tty: n_gsm: fix incorrect UA handling
tty: n_gsm: fix missing update of modem controls after DLCI open
tty: n_gsm: fix broken virtual tty handling
tty: n_gsm: fix invalid use of MSC in advanced option
tty: n_gsm: fix software flow control handling
tty: n_gsm: fix sometimes uninitialized warning in gsm_dlci_modem_output()

Daniele Palmas (1):

      USB: serial: option: add Telit 0x1057, 0x1058, 0x1075 compositions

Dany Madden (1):
Revert "ibmvnic: Add ethtool private flag for driver-defined queue limits"

Darren Hart (1):
topology: make core_mask include at least cluster_siblings

David Yat Sin (1):
drm/amdkfd: Fix GWS queue count

Dinh Nguyen (1):
net: ethernet: stmmac: fix write to sgmii_adapter_base

Dmitry Baryshkov (3):
cpufreq: qcom-hw: drop affinity hint before freeing the IRQ
cpufreq: qcom-hw: fix the race between LMH worker and cpuhp
cpufreq: qcom-hw: fix the opp entries refcounting

Dongliang Mu (1):
tee: optee: add missing mutext_destroy in optee_ffa_probe

Duoming Zhou (2):
arch: xtensa: platforms: Fix deadlock in rs_close()
drivers: net: hippi: Fix deadlock in rr_close()

Eric Dumazet (2):
tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT
tcp: make sure treq->af_specific is initialized

Eugen Hristev (1):
ARM: dts: at91: sama7g5ek: enable pull-up on flexcom3 console lines

Evan Green (1):
xhci: Enable runtime PM on second Alderlake controller

Eyal Birger (1):
bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook

Fabio Estevam (2):
ARM: dts: imx6qdl-apalis: Fix sgtl5000 detection issue
arm64: dts: imx8mn-ddr4-evk: Describe the 32.768 kHz PMIC clock

Fawzi Khaber (1):
iio: imu: inv_icm42600: Fix I2C init possible nack

Filipe Manana (2):
btrfs: fix leaked plug after failure syncing log on zoned filesystems
btrfs: fix assertion failure during scrub due to block group reallocation

Florian Westphal (2):
netfilter: nf_conntrack_tcp: re-init for syn packets only
netfilter: nft_socket: only do sk lookups when indev is available

Francesco Ruggeri (1):
tcp: md5: incorrect tcp_header_len for incoming connections

Geert Uytterhoeven (1):
memory: renesas-rpc-if: Fix HF/OSPI data transfer in Manual Mode

Gongjun Song (1):
ALSA: hda: intel-dsp-config: Add RaptorLake PCI IDs

Greg Kroah-Hartman (1):

      Linux 5.17.6

Guillaume Giraudon (1):
arm64: dts: meson-sm1-bananapi-m5: fix wrong GPIO pin labeling for CON1

Guo Ren (1):
riscv: patch_text: Fixup last cpu should be master

H. Nikolaus Schaller (1):
ARM: dts: Fix mmc order for omap3-gta04

Hangyu Hua (1):
usb: misc: fix improper handling of refcount in uss720_probe()

Hans de Goede (1):
platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails

Heikki Krogerus (3):
usb: typec: ucsi: Fix reuse of completion structure
usb: typec: ucsi: Fix role swapping
usb: dwc3: pci: add support for the Intel Meteor Lake-P

Heiner Kallweit (1):
phy: amlogic: fix error path in phy_g12a_usb3_pcie_probe()

Henry Lin (1):
xhci: stop polling roothubs after shutdown

Hongyu Jin (1):

      erofs: fix use-after-free of on-stack io[]

Hui Wang (1):
ASoC: cs35l41: Fix a shift-out-of-bounds warning found by UBSAN

Imre Deak (1):
drm/i915: Fix SEL_FETCH_PLANE_*(PIPE_B+) register addresses

Jaegeuk Kim (1):
f2fs: should not truncate blocks during roll-forward recovery

Jan Kara (1):
bfq: Fix warning in bfqq_request_over_limit()

Jens Axboe (2):
io_uring: check reserved fields for send/sendmsg
io_uring: check reserved fields for recv/recvmsg

Jian Shen (3):
net: hns3: clear inited state and stop client after failed to register netdev
net: hns3: add validity check for message data length
net: hns3: add return value for mailbox handling in PF

Jie Wang (1):
net: hns3: modify the return code of hclge_get_ring_chain_from_mbx

Johan Hovold (2):
serial: imx: fix overrun interrupts in DMA mode
arm64: dts: imx8mm-venice: fix spi2 pin configuration

Jonathan Lemon (1):
net: bcmgenet: hide status block before TX timestamping

Joseph Ravichandran (1):
io_uring: fix uninitialized field in rw io_kiocb

Jouni Högander (1):
drm/i915: Check EDID for HDR static metadata when choosing blc

Kees Cook (2):
USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS
thermal: int340x: Fix attr.show callback prototype

Krzysztof Kozlowski (2):
pinctrl: samsung: fix missing GPIOLIB on ARM64 Exynos config
phy: samsung: exynos5250-sata: fix missing device put in probe error paths

Leon Romanovsky (1):

      ixgbe: ensure IPsec VF<->PF compatibility

Lin Ma (1):

      mctp: defer the kfree of object mdev->addrs

Lino Sanfilippo (1):
serial: amba-pl011: do not time out prematurely when draining tx fifo

Liu Ying (1):
arm64: dts: imx8qm: Correct SCU clock controller's compatible property

Luca Ceresoli (1):
pinctrl: rockchip: fix RK3308 pinmux bits

Luca Weiss (1):
pinctrl: qcom: sm6350: fix order of UFS & SDC pins

Luiz Augusto von Dentz (1):
Bluetooth: hci_event: Fix checking for invalid handle on error status

Lv Ruyi (1):
pinctrl: pistachio: fix use of irq_of_parse_and_map()

Maciej Fijalkowski (1):
xsk: Fix l2fwd for copy mode + busy poll combo

Maciej W. Rozycki (2):
serial: 8250: Also set sticky MCR bits in console restoration
serial: 8250: Correct the clock for EndRun PTP/1588 PCIe device

Macpaul Lin (1):
usb: mtu3: fix USB 3.0 dual-role-switch from device to host

Manish Chopra (1):
bnx2x: fix napi API usage sequence

Manivannan Sadhasivam (2):
bus: mhi: host: pci_generic: Add missing poweroff() PM callback
bus: mhi: host: pci_generic: Flush recovery worker during freeze

Marek Vasut (3):
arm64: dts: imx8mn: Fix SAI nodes
pinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI
pinctrl: stm32: Keep pinctrl block clock enabled when LEVEL IRQ requested

Mark Brown (1):

      ARM: dts: at91: Map MCLK for wm8731 on at91sam9g20ek

Martin Blumenstingl (1):
net: dsa: lantiq_gswip: Don't set GSWIP_MII_CFG_RMII_CLK

Martin Willi (1):
netfilter: Update ip6_route_me_harder to consider L3 domain

Mathias Nyman (1):

      xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms

Max Krummenacher (1):
ARM: dts: imx6ull-colibri: fix vqmmc regulator

Maxim Mikityanskiy (1):
tls: Skip tls_append_frag on zero copy size

Md Sadre Alam (1):
mtd: rawnand: qcom: fix memory corruption that causes panic

Miaoqian Lin (8):
phy: samsung: Fix missing of_node_put() in exynos_sata_phy_probe
ARM: OMAP2+: Fix refcount leak in omap_gic_of_init
phy: ti: omap-usb2: Fix error handling in omap_usb2_enable_clocks
phy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probe
phy: ti: Add missing pm_runtime_disable() in serdes_am654_probe
mtd: rawnand: Fix return value check of wait_for_completion_timeout
net: dsa: Add missing of_node_put() in dsa_port_link_register_of drm/amd/display: Fix memory leak in dcn21_clock_source_create

Michael Hennerich (1):
iio: dac: ad5446: Fix read_raw not returning set value

Mikulas Patocka (3):
hex2bin: make the function hex_to_bin constant-time
hex2bin: fix access beyond string end
x86: __memcpy_flushcache: fix wrong alignment if size > 2^32

Minchan Kim (1):
kernfs: fix NULL dereferencing in kernfs_remove

Miquel Raynal (1):
ARM: dts: am33xx-l4: Add missing touchscreen clock properties

Namhyung Kim (3):
perf symbol: Pass is_kallsyms to symbols__fixup_end() perf symbol: Update symbols__fixup_end() perf symbol: Remove arch__symbols__fixup_end()

Namjae Jeon (2):
ksmbd: increment reference count of parent fp
ksmbd: set fixed sector size to FS_SECTOR_SIZE_INFORMATION

Naohiro Aota (1):
btrfs: zoned: use dedicated lock for data relocation

Nathan Rossi (1):
net: dsa: mv88e6xxx: Fix port_hidden_wait to account for port_base_addr

Nikolay Aleksandrov (2):
virtio_net: fix wrong buf address calculation when using xdp
wireguard: device: check for metadata_dst with skb_valid_dst()

Oleksandr Ocheretnyi (1):
mtd: fix 'part' field data corruption in mtd_info

Oliver Neukum (2):
USB: quirks: add a Realtek card reader
USB: quirks: add STRING quirk for VCOM device

Pablo Neira Ayuso (1):
netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion

Pavel Skripkin (1):
video: fbdev: udlfb: properly check endpoint type

Pawel Laszczak (1):
usb: cdns3: Fix issue for clear halt endpoint

Peilin Ye (3):
ip_gre: Make o_seqno start from 0 in native mode
ip6_gre: Make o_seqno start from 0 in native mode ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode

Peng Li (1):
net: hns3: fix error log of tx/rx tqps stats

Pengcheng Yang (3):
ipvs: correctly print the memory size of ip_vs_conn_tab
tcp: ensure to use the most recently sent skb when filling the rate sample
tcp: fix F-RTO may not work correctly when receiving DSACK

Peter Zijlstra (2):
objtool: Fix code relocs vs weak symbols
objtool: Fix type of reloc::addend

Petr Oros (1):
ice: wait 5 s for EMP reset after firmware flash

Pierre-Louis Bossart (1):
ASoC: rt711/5682: check if bus is active before deferred jack detection

Ronnie Sahlberg (1):
cifs: destage any unwritten data to the server before calling copychunk_write

Samuel Holland (1):
drm/sun4i: Remove obsolete references to PHYS_OFFSET

Sean Anderson (1):
usb: phy: generic: Get the vbus supply

Shin'ichiro Kawasaki (1):
bus: fsl-mc-msi: Fix MSI descriptor mutex lock for msi_first_desc()

Sidhartha Kumar (2):
selftest/vm: verify mmap addr in mremap_test selftest/vm: verify remap destination address in mremap_test

Slark Xiao (1):
USB: serial: option: add support for Cinterion MV32-WA/MV32-WB

Stephen Boyd (2):
interconnect: qcom: sc7180: Drop IP0 interconnects
interconnect: qcom: sdx55: Drop IP0 interconnects

Sven Peter (1):
usb: dwc3: Try usb-role-switch first in dwc3_drd_init

Tasos Sahanidis (1):
usb: core: Don't hold the device lock while sleeping in do_proc_control()

Tejun Heo (2):
iocost: don't reset the inuse weight of under-weighted debtors Revert "block: inherit request start time from bio for BLK_CGROUP"

Thinh Nguyen (3):
usb: dwc3: core: Fix tx/rx threshold settings
usb: dwc3: core: Only handle soft-reset in DCTL
usb: dwc3: gadget: Return proper request status

Thomas Gleixner (1):
x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests

Tim Harvey (1):
ARM: dts: imx8mm-venice-gw{71xx,72xx,73xx}: fix OTG controller OC mode

Timothy Hayes (1):
perf arm-spe: Fix addresses of synthesized SPE events

Tom Rix (1):
iio: scd4x: check return of scd4x_write_and_fetch

Tong Zhang (1):
iio:imu:bmi160: disable regulator in error path

Tony Lindgren (2):
bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific
ARM: dts: dra7: Fix suspend warning for vpe powerdomain

Vijayavardhan Vennapusa (1):
usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()

Ville Syrjälä (2):
Revert "ACPI: processor: idle: fix lockup regression on 32-bit ThinkPad T40"
ACPI: processor: idle: Avoid falling back to C3 type C-states

Vladimir Oltean (1):
net: enetc: allow tc-etf offload even with NETIF_F_CSUM_MASK

Vladimir Zapolskiy (2):
cpufreq: qcom-cpufreq-hw: Fix throttle frequency value on EPSS platforms
cpufreq: qcom-cpufreq-hw: Clear dcvs interrupts

Volodymyr Mytnyk (1):
netfilter: conntrack: fix udp offload timeout sysctl

Wang Qing (1):
arch_topology: Do not set llc_sibling if llc_id is invalid

Wang ShaoBo (1):
iio:filter:admv8818: select REGMAP_SPI for ADMV8818

Weitao Wang (1):
USB: Fix xhci event ring dequeue pointer ERDP update issue

Willy Tarreau (1):
floppy: disable FDRAWCMD by default

Xiaobing Luo (1):
cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probe

Xin Long (1):
sctp: check asoc strreset_chunk in sctp_generate_reconf_event

Xiubo Li (1):

      ceph: fix possible NULL pointer dereference for req->r_session

Yang Yingliang (2):
clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource()
net: fec: add missing of_node_put() in fec_enet_init_stop_mode()

Ye Bin (1):
ext4: fix bug_on in start_this_handle during umount filesystem

YueHaibing (1):
pinctrl: mediatek: moore: Fix build error

Zheyu Ma (3):
iio: magnetometer: ak8975: Fix the error handling in ak8975_power_on()
ASoC: wm8731: Disable the regulator when probing fails
Input: cypress-sf - register a callback to disable the regulators

Zizhuang Deng (1):
iio: dac: ad5592r: Fix the missing return value.

Zqiang (1):
kasan: prevent cpu_quarantine corruption when CPU offline and cache shrink occur at same time

liuyacan (1):
net/smc: sync err code when tcp connection was refused

suresh kumar (1):
bonding: do not discard lowest hash bit for non layer3+4 hashing

zhangqilong (1):
usb: xhci: tegra:Fix PM usage reference leak of tegra_xusb_unpowergate_partitions