From: Greg Kroah-Hartman Date: Wed, 1 Mar 2023 15:23:37 +0000 (+0100) Subject: 6.2-stable patches X-Git-Tag: v4.19.275~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ad366e44d0ed325794862bd637e30d8458000c43;p=thirdparty%2Fkernel%2Fstable-queue.git 6.2-stable patches added patches: wifi-rtw88-usb-drop-now-unnecessary-urb-size-check.patch wifi-rtw88-usb-send-zero-length-packets-if-necessary.patch wifi-rtw88-usb-set-qsel-correctly.patch --- diff --git a/queue-6.2/series b/queue-6.2/series index 16dc9586622..c132f6beebc 100644 --- a/queue-6.2/series +++ b/queue-6.2/series @@ -5,3 +5,6 @@ vc_screen-don-t-clobber-return-value-in-vcs_read.patch drm-amd-display-move-dcn314-domain-power-control-to-dmcub.patch drm-amd-display-properly-reuse-completion-structure.patch scripts-tags.sh-fix-incompatibility-with-pcre2.patch +wifi-rtw88-usb-set-qsel-correctly.patch +wifi-rtw88-usb-send-zero-length-packets-if-necessary.patch +wifi-rtw88-usb-drop-now-unnecessary-urb-size-check.patch diff --git a/queue-6.2/wifi-rtw88-usb-drop-now-unnecessary-urb-size-check.patch b/queue-6.2/wifi-rtw88-usb-drop-now-unnecessary-urb-size-check.patch new file mode 100644 index 00000000000..8458b2f24c0 --- /dev/null +++ b/queue-6.2/wifi-rtw88-usb-drop-now-unnecessary-urb-size-check.patch @@ -0,0 +1,50 @@ +From 462c8db6a01160836c68e262d25566f2447148d9 Mon Sep 17 00:00:00 2001 +From: Sascha Hauer +Date: Fri, 10 Feb 2023 12:16:32 +0100 +Subject: wifi: rtw88: usb: drop now unnecessary URB size check + +From: Sascha Hauer + +commit 462c8db6a01160836c68e262d25566f2447148d9 upstream. + +Now that we send URBs with the URB_ZERO_PACKET flag set we no longer +need to make sure that the URB sizes are not multiple of the +bulkout_size. Drop the check. + +Signed-off-by: Sascha Hauer +Reviewed-by: Ping-Ke Shih +Signed-off-by: Kalle Valo +Link: https://lore.kernel.org/r/20230210111632.1985205-4-s.hauer@pengutronix.de +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/wireless/realtek/rtw88/usb.c | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +--- a/drivers/net/wireless/realtek/rtw88/usb.c ++++ b/drivers/net/wireless/realtek/rtw88/usb.c +@@ -414,24 +414,11 @@ static int rtw_usb_write_data_rsvd_page( + u32 size) + { + const struct rtw_chip_info *chip = rtwdev->chip; +- struct rtw_usb *rtwusb; + struct rtw_tx_pkt_info pkt_info = {0}; +- u32 len, desclen; +- +- rtwusb = rtw_get_usb_priv(rtwdev); + + pkt_info.tx_pkt_size = size; + pkt_info.qsel = TX_DESC_QSEL_BEACON; +- +- desclen = chip->tx_pkt_desc_sz; +- len = desclen + size; +- if (len % rtwusb->bulkout_size == 0) { +- len += RTW_USB_PACKET_OFFSET_SZ; +- pkt_info.offset = desclen + RTW_USB_PACKET_OFFSET_SZ; +- pkt_info.pkt_offset = 1; +- } else { +- pkt_info.offset = desclen; +- } ++ pkt_info.offset = chip->tx_pkt_desc_sz; + + return rtw_usb_write_data(rtwdev, &pkt_info, buf); + } diff --git a/queue-6.2/wifi-rtw88-usb-send-zero-length-packets-if-necessary.patch b/queue-6.2/wifi-rtw88-usb-send-zero-length-packets-if-necessary.patch new file mode 100644 index 00000000000..99347d85cce --- /dev/null +++ b/queue-6.2/wifi-rtw88-usb-send-zero-length-packets-if-necessary.patch @@ -0,0 +1,32 @@ +From 07ce9fa6ab0e5e4cb5516a1f7c754ab2758fe5cd Mon Sep 17 00:00:00 2001 +From: Sascha Hauer +Date: Fri, 10 Feb 2023 12:16:31 +0100 +Subject: wifi: rtw88: usb: send Zero length packets if necessary + +From: Sascha Hauer + +commit 07ce9fa6ab0e5e4cb5516a1f7c754ab2758fe5cd upstream. + +Zero length packets are necessary when sending URBs with size +multiple of bulkout_size, otherwise the hardware just stalls. + +Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support") +Signed-off-by: Sascha Hauer +Reviewed-by: Ping-Ke Shih +Signed-off-by: Kalle Valo +Link: https://lore.kernel.org/r/20230210111632.1985205-3-s.hauer@pengutronix.de +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/wireless/realtek/rtw88/usb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/wireless/realtek/rtw88/usb.c ++++ b/drivers/net/wireless/realtek/rtw88/usb.c +@@ -271,6 +271,7 @@ static int rtw_usb_write_port(struct rtw + return -ENOMEM; + + usb_fill_bulk_urb(urb, usbd, pipe, skb->data, skb->len, cb, context); ++ urb->transfer_flags |= URB_ZERO_PACKET; + ret = usb_submit_urb(urb, GFP_ATOMIC); + + usb_free_urb(urb); diff --git a/queue-6.2/wifi-rtw88-usb-set-qsel-correctly.patch b/queue-6.2/wifi-rtw88-usb-set-qsel-correctly.patch new file mode 100644 index 00000000000..fbf919a32e8 --- /dev/null +++ b/queue-6.2/wifi-rtw88-usb-set-qsel-correctly.patch @@ -0,0 +1,35 @@ +From 7869b834fb07c79933229840c98b02bbb7bd0d75 Mon Sep 17 00:00:00 2001 +From: Sascha Hauer +Date: Fri, 10 Feb 2023 12:16:30 +0100 +Subject: wifi: rtw88: usb: Set qsel correctly + +From: Sascha Hauer + +commit 7869b834fb07c79933229840c98b02bbb7bd0d75 upstream. + +We have to extract qsel from the skb before doing skb_push() on it, +otherwise qsel will always be 0. + +Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support") +Signed-off-by: Sascha Hauer +Reviewed-by: Ping-Ke Shih +Signed-off-by: Kalle Valo +Link: https://lore.kernel.org/r/20230210111632.1985205-2-s.hauer@pengutronix.de +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/wireless/realtek/rtw88/usb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/realtek/rtw88/usb.c ++++ b/drivers/net/wireless/realtek/rtw88/usb.c +@@ -471,9 +471,9 @@ static int rtw_usb_tx_write(struct rtw_d + u8 *pkt_desc; + int ep; + ++ pkt_info->qsel = rtw_usb_tx_queue_mapping_to_qsel(skb); + pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz); + memset(pkt_desc, 0, chip->tx_pkt_desc_sz); +- pkt_info->qsel = rtw_usb_tx_queue_mapping_to_qsel(skb); + ep = qsel_to_ep(rtwusb, pkt_info->qsel); + rtw_tx_fill_tx_desc(pkt_info, skb); + rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, skb->data);