diff --git a/include/kernel-5.19 b/include/kernel-5.19 index 4fa1e988c0fda8..18817401879e95 100644 --- a/include/kernel-5.19 +++ b/include/kernel-5.19 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.19 = .2 -LINUX_KERNEL_HASH-5.19.2 = 48e40a1f5501ec6c40e3c86d3d5319200b688f2d9360f72833084d74801fe63d +LINUX_VERSION-5.19 = .3 +LINUX_KERNEL_HASH-5.19.3 = 513bd672066f5fb22e5739aae3eed60c75c4accc9ba365d1060c4e4225442721 diff --git a/package/network/services/hostapd/patches/800-hostapd-2.10-lar.patch b/package/network/services/hostapd/patches/800-hostapd-2.10-lar.patch new file mode 100644 index 00000000000000..c3808ef03f7d09 --- /dev/null +++ b/package/network/services/hostapd/patches/800-hostapd-2.10-lar.patch @@ -0,0 +1,86 @@ +diff -ru a/src/ap/hw_features.c b/src/ap/hw_features.c +--- a/src/ap/hw_features.c 2022-01-16 15:51:29.000000000 -0500 ++++ b/src/ap/hw_features.c 2022-07-06 22:57:53.007315518 -0500 +@@ -26,6 +26,17 @@ + #include "beacon.h" + #include "hw_features.h" + ++static void ieee80211n_do_nothing(struct hostapd_iface *iface) ++{ ++ wpa_printf(MSG_DEBUG, ++ "Scan finished!"); ++} ++ ++static void ieee80211n_scan_channels_2g4(struct hostapd_iface *iface, ++ struct wpa_driver_scan_params *params); ++static void ieee80211n_scan_channels_5g(struct hostapd_iface *iface, ++ struct wpa_driver_scan_params *params); ++ + + void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features, + size_t num_hw_features) +@@ -82,6 +93,33 @@ + + if (hostapd_drv_none(hapd)) + return -1; ++ ++ ++ if (!iface->conf->noscan) { ++ // scan ++ struct wpa_driver_scan_params params; ++ int ret1; ++ ++ os_memset(¶ms, 0, sizeof(params)); ++ ieee80211n_scan_channels_5g(iface, ¶ms); ++ ++ ret1 = hostapd_driver_scan(iface->bss[0], ¶ms); ++ ++ if (ret1 == -EBUSY) { ++ wpa_printf(MSG_ERROR, ++ "Failed to request a scan of neighboring BSSes ret=%d (%s)!", ++ ret1, strerror(-ret1)); ++ } ++ ++ if (ret1 == 0) { ++ iface->scan_cb = ieee80211n_do_nothing; ++ wpa_printf(MSG_DEBUG, ++ "Sleeping..."); ++ for (int i=0; i<110; i++) { ++ usleep(100000); ++ } ++ } ++ } + modes = hostapd_get_hw_feature_data(hapd, &num_modes, &flags, + &dfs_domain); + if (modes == NULL) { + +@@ -308,7 +346,6 @@ + sec_chan); + } + +- + static void ieee80211n_check_scan(struct hostapd_iface *iface) + { + struct wpa_scan_results *scan_res; +@@ -517,8 +554,10 @@ + int ret; + + /* Check that HT40 is used and PRI / SEC switch is allowed */ +- if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch) ++ if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch || iface->conf->noscan) { ++ wpa_printf(MSG_DEBUG, "Not scanning due to noscan?"); + return 0; ++ } + + hostapd_set_state(iface, HAPD_IFACE_HT_SCAN); + wpa_printf(MSG_DEBUG, "Scan for neighboring BSSes prior to enabling " +@@ -916,7 +954,7 @@ + if (!hostapd_is_usable_edmg(iface)) + return 0; + +- if (!iface->conf->secondary_channel) ++ if (!iface->conf->secondary_channel || iface->conf->noscan) + return 1; + + if (hostapd_is_usable_chan(iface, iface->freq + + diff --git a/target/linux/rockchip/patches-5.19/0011-arm64-dts-rockchip-enable-vop2-and-hdmi-tx-on-rock-3.patch b/target/linux/rockchip/patches-5.19/0011-arm64-dts-rockchip-enable-vop2-and-hdmi-tx-on-rock-3.patch deleted file mode 100644 index 2b7a680907b586..00000000000000 --- a/target/linux/rockchip/patches-5.19/0011-arm64-dts-rockchip-enable-vop2-and-hdmi-tx-on-rock-3.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 284f0150efd541d60156bcfea1d575b24d320cc3 Mon Sep 17 00:00:00 2001 -From: Michael Riesch -Date: Fri, 22 Apr 2022 09:28:37 +0200 -Subject: [PATCH 11/51] arm64: dts: rockchip: enable vop2 and hdmi tx on - rock-3a - -Enable the RK356x Video Output Processor (VOP) 2 on the Radxa -ROCK3 Model A. - -Signed-off-by: Michael Riesch -Reported-by: kernel test robot -Link: https://lore.kernel.org/r/20220310210352.451136-4-michael.riesch@wolfvision.net -Signed-off-by: Sascha Hauer -Link: https://lore.kernel.org/r/20220422072841.2206452-21-s.hauer@pengutronix.de -Signed-off-by: Heiko Stuebner ---- - .../boot/dts/rockchip/rk3568-rock-3a.dts | 47 +++++++++++++++++++ - 1 file changed, 47 insertions(+) - ---- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - #include "rk3568.dtsi" - - / { -@@ -20,6 +21,17 @@ - stdout-path = "serial2:1500000n8"; - }; - -+ hdmi-con { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_con_in: endpoint { -+ remote-endpoint = <&hdmi_out_con>; -+ }; -+ }; -+ }; -+ - leds { - compatible = "gpio-leds"; - -@@ -166,6 +178,24 @@ - status = "okay"; - }; - -+&hdmi { -+ avdd-0v9-supply = <&vdda0v9_image>; -+ avdd-1v8-supply = <&vcca1v8_image>; -+ status = "okay"; -+}; -+ -+&hdmi_in { -+ hdmi_in_vp0: endpoint { -+ remote-endpoint = <&vp0_out_hdmi>; -+ }; -+}; -+ -+&hdmi_out { -+ hdmi_out_con: endpoint { -+ remote-endpoint = <&hdmi_con_in>; -+ }; -+}; -+ - &i2c0 { - status = "okay"; - -@@ -560,3 +590,20 @@ - phy-supply = <&vcc5v0_usb_host>; - status = "okay"; - }; -+ -+&vop { -+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; -+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; -+ status = "okay"; -+}; -+ -+&vop_mmu { -+ status = "okay"; -+}; -+ -+&vp0 { -+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { -+ reg = ; -+ remote-endpoint = <&hdmi_in_vp0>; -+ }; -+}; diff --git a/target/linux/rockchip/patches-5.19/0029-arm64-dts-rockchip-enable-hdmi-tx-audio-on-rock-3a.patch b/target/linux/rockchip/patches-5.19/0029-arm64-dts-rockchip-enable-hdmi-tx-audio-on-rock-3a.patch index 176ac8cb6dde31..d8ce2ae086fc41 100644 --- a/target/linux/rockchip/patches-5.19/0029-arm64-dts-rockchip-enable-hdmi-tx-audio-on-rock-3a.patch +++ b/target/linux/rockchip/patches-5.19/0029-arm64-dts-rockchip-enable-hdmi-tx-audio-on-rock-3a.patch @@ -15,8 +15,8 @@ Signed-off-by: Heiko Stuebner --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts -@@ -196,6 +196,10 @@ - }; +@@ -200,6 +200,10 @@ + status = "okay"; }; +&hdmi_sound { @@ -26,14 +26,14 @@ Signed-off-by: Heiko Stuebner &i2c0 { status = "okay"; -@@ -436,6 +440,10 @@ - }; +@@ -441,6 +445,10 @@ }; -+&i2s0_8ch { + &i2s0_8ch { + status = "okay"; +}; + - &i2s1_8ch { - rockchip,trcm-sync-tx-only; ++&i2s0_8ch { status = "okay"; + }; + diff --git a/target/linux/rockchip/patches-5.19/0039-drm-rockchip-vop-Don-t-crash-for-invalid-duplicate_s.patch b/target/linux/rockchip/patches-5.19/0039-drm-rockchip-vop-Don-t-crash-for-invalid-duplicate_s.patch new file mode 100644 index 00000000000000..9852d736c9e67e --- /dev/null +++ b/target/linux/rockchip/patches-5.19/0039-drm-rockchip-vop-Don-t-crash-for-invalid-duplicate_s.patch @@ -0,0 +1,33 @@ +From efaa0a55ce429107697f641921336cc51518693a Mon Sep 17 00:00:00 2001 +From: Brian Norris +Date: Fri, 17 Jun 2022 17:26:52 -0700 +Subject: [PATCH 39/51] drm/rockchip: vop: Don't crash for invalid + duplicate_state() + +It's possible for users to try to duplicate the CRTC state even when the +state doesn't exist. drm_atomic_helper_crtc_duplicate_state() (and other +users of __drm_atomic_helper_crtc_duplicate_state()) already guard this +with a WARN_ON() instead of crashing, so let's do that here too. + +Fixes: 4e257d9eee23 ("drm/rockchip: get rid of rockchip_drm_crtc_mode_config") +Signed-off-by: Brian Norris +Reviewed-by: Sean Paul +Reviewed-by: Douglas Anderson +Signed-off-by: Heiko Stuebner +Link: https://patchwork.freedesktop.org/patch/msgid/20220617172623.1.I62db228170b1559ada60b8d3e1637e1688424926@changeid +--- + drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c ++++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +@@ -1573,6 +1573,9 @@ static struct drm_crtc_state *vop_crtc_d + if (WARN_ON(!crtc->state)) + return NULL; + ++ if (WARN_ON(!crtc->state)) ++ return NULL; ++ + rockchip_state = kzalloc(sizeof(*rockchip_state), GFP_KERNEL); + if (!rockchip_state) + return NULL; diff --git a/target/linux/rockchip/patches-5.19/0051-rockchip-add-pci3-for-rock3-a.patch b/target/linux/rockchip/patches-5.19/0051-rockchip-add-pci3-for-rock3-a.patch index 204d3881b77af3..9b3692aa6ca74d 100644 --- a/target/linux/rockchip/patches-5.19/0051-rockchip-add-pci3-for-rock3-a.patch +++ b/target/linux/rockchip/patches-5.19/0051-rockchip-add-pci3-for-rock3-a.patch @@ -110,7 +110,7 @@ Signed-off-by: Marty Jones status = "okay"; }; -@@ -313,6 +358,7 @@ +@@ -317,6 +362,7 @@ vdda0v9_image: LDO_REG1 { regulator-name = "vdda0v9_image"; @@ -118,7 +118,7 @@ Signed-off-by: Marty Jones regulator-min-microvolt = <900000>; regulator-max-microvolt = <900000>; -@@ -349,6 +395,7 @@ +@@ -353,6 +399,7 @@ vccio_acodec: LDO_REG4 { regulator-name = "vccio_acodec"; regulator-always-on; @@ -126,7 +126,7 @@ Signed-off-by: Marty Jones regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; -@@ -407,6 +454,7 @@ +@@ -411,6 +458,7 @@ vcca1v8_image: LDO_REG9 { regulator-name = "vcca1v8_image"; @@ -134,7 +134,7 @@ Signed-off-by: Marty Jones regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; -@@ -427,6 +475,7 @@ +@@ -431,6 +479,7 @@ vcc3v3_sd: SWITCH_REG2 { regulator-name = "vcc3v3_sd"; @@ -142,7 +142,7 @@ Signed-off-by: Marty Jones regulator-state-mem { regulator-off-in-suspend; -@@ -453,14 +502,30 @@ +@@ -461,14 +510,30 @@ rgmii_phy1: ethernet-phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0x0>; @@ -178,7 +178,7 @@ Signed-off-by: Marty Jones &pinctrl { ethernet { eth_phy_rst: eth_phy_rst { -@@ -555,7 +620,7 @@ +@@ -563,7 +628,7 @@ }; &usb_host0_xhci { @@ -187,7 +187,7 @@ Signed-off-by: Marty Jones status = "okay"; }; -@@ -581,7 +646,7 @@ +@@ -589,7 +654,7 @@ }; &usb2phy0_otg { @@ -196,7 +196,7 @@ Signed-off-by: Marty Jones status = "okay"; }; -@@ -590,12 +655,10 @@ +@@ -598,12 +663,10 @@ }; &usb2phy1_host {