[arch-commits] Commit in linux-lts/trunk (5 files)

Jan Steffens heftig at archlinux.org
Thu Jul 9 18:35:32 UTC 2020


    Date: Thursday, July 9, 2020 @ 18:35:31
  Author: heftig
Revision: 391505

5.4.51-1

Added:
  linux-lts/trunk/0002-Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch
Modified:
  linux-lts/trunk/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
  linux-lts/trunk/PKGBUILD
Deleted:
  linux-lts/trunk/0002-ALSA-usb-audio-Fix-packet-size-calculation.patch
  linux-lts/trunk/0003-drm-amd-display-Only-revalidate-bandwidth-on-medium-.patch

-----------------------------------------------------------------+
 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch |    4 
 0002-ALSA-usb-audio-Fix-packet-size-calculation.patch           |   35 -
 0002-Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch |  254 ++++++++++
 0003-drm-amd-display-Only-revalidate-bandwidth-on-medium-.patch |   43 -
 PKGBUILD                                                        |   12 
 5 files changed, 261 insertions(+), 87 deletions(-)

Modified: 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
===================================================================
--- 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch	2020-07-09 18:11:25 UTC (rev 391504)
+++ 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch	2020-07-09 18:35:31 UTC (rev 391505)
@@ -1,4 +1,4 @@
-From f4b254de5d2b75143dd7c225e58afb3f5ee3bae6 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
 Date: Mon, 16 Sep 2019 04:53:20 +0200
 Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged
@@ -128,5 +128,5 @@
  static DEFINE_MUTEX(userns_state_mutex);
  
 -- 
-2.26.2
+2.27.0
 

Deleted: 0002-ALSA-usb-audio-Fix-packet-size-calculation.patch
===================================================================
--- 0002-ALSA-usb-audio-Fix-packet-size-calculation.patch	2020-07-09 18:11:25 UTC (rev 391504)
+++ 0002-ALSA-usb-audio-Fix-packet-size-calculation.patch	2020-07-09 18:35:31 UTC (rev 391505)
@@ -1,35 +0,0 @@
-From f28f67e0c17c11790c8795e7f727d3e39c4d5c92 Mon Sep 17 00:00:00 2001
-From: Alexander Tsoy <alexander at tsoy.me>
-Date: Mon, 29 Jun 2020 05:59:33 +0300
-Subject: [PATCH 1/2] ALSA: usb-audio: Fix packet size calculation
-
-Commit f0bd62b64016 ("ALSA: usb-audio: Improve frames size computation")
-introduced a regression for devices which have playback endpoints with
-bInterval > 1. Fix this by taking ep->datainterval into account.
-
-Note that frame and fps are actually mean packet and packets per second
-in the code introduces by the mentioned commit. This will be fixed in a
-follow-up patch.
-
-Fixes: f0bd62b64016 ("ALSA: usb-audio: Improve frames size computation")
-BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=208353
-Signed-off-by: Alexander Tsoy <alexander at tsoy.me>
----
- sound/usb/endpoint.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
-index 9bea7d3f99f8..11f23778f0a5 100644
---- a/sound/usb/endpoint.c
-+++ b/sound/usb/endpoint.c
-@@ -1093,6 +1093,7 @@ int snd_usb_endpoint_set_params(struct snd_usb_endpoint *ep,
- 		ep->freqn = get_usb_high_speed_rate(rate);
- 		ep->fps = 8000;
- 	}
-+	ep->fps >>= ep->datainterval;
- 
- 	ep->sample_rem = rate % ep->fps;
- 	ep->framesize[0] = rate / ep->fps;
--- 
-2.27.0
-

Added: 0002-Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch
===================================================================
--- 0002-Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch	                        (rev 0)
+++ 0002-Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch	2020-07-09 18:35:31 UTC (rev 391505)
@@ -0,0 +1,254 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Viktor=20J=C3=A4gersk=C3=BCpper?=
+ <viktor_jaegerskuepper at freenet.de>
+Date: Wed, 1 Jul 2020 23:32:28 +0200
+Subject: [PATCH] Revert "ath9k: Fix general protection fault in
+ ath9k_hif_usb_rx_cb"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 2bbcaaee1fcb ("ath9k: Fix general protection fault
+in ath9k_hif_usb_rx_cb") because the driver gets stuck like this:
+
+  [    5.778803] usb 1-5: Manufacturer: ATHEROS
+  [   21.697488] usb 1-5: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
+  [   21.701377] usbcore: registered new interface driver ath9k_htc
+  [   22.053705] usb 1-5: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
+  [   22.306182] ath9k_htc 1-5:1.0: ath9k_htc: HTC initialized with 33 credits
+  [  115.708513] ath9k_htc: Failed to initialize the device
+  [  115.708683] usb 1-5: ath9k_htc: USB layer deinitialized
+
+Reported-by: Roman Mamedov <rm at romanrm.net>
+Ref: https://bugzilla.kernel.org/show_bug.cgi?id=208251
+Fixes: 2bbcaaee1fcb ("ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb")
+Tested-by: Viktor Jägersküpper <viktor_jaegerskuepper at freenet.de>
+Signed-off-by: Viktor Jägersküpper <viktor_jaegerskuepper at freenet.de>
+---
+ drivers/net/wireless/ath/ath9k/hif_usb.c | 48 ++++++------------------
+ drivers/net/wireless/ath/ath9k/hif_usb.h |  5 ---
+ 2 files changed, 11 insertions(+), 42 deletions(-)
+
+diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
+index 4ed21dad6a8e..6049d3766c64 100644
+--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
++++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
+@@ -643,9 +643,9 @@ static void ath9k_hif_usb_rx_stream(struct hif_device_usb *hif_dev,
+ 
+ static void ath9k_hif_usb_rx_cb(struct urb *urb)
+ {
+-	struct rx_buf *rx_buf = (struct rx_buf *)urb->context;
+-	struct hif_device_usb *hif_dev = rx_buf->hif_dev;
+-	struct sk_buff *skb = rx_buf->skb;
++	struct sk_buff *skb = (struct sk_buff *) urb->context;
++	struct hif_device_usb *hif_dev =
++		usb_get_intfdata(usb_ifnum_to_if(urb->dev, 0));
+ 	int ret;
+ 
+ 	if (!skb)
+@@ -685,15 +685,14 @@ static void ath9k_hif_usb_rx_cb(struct urb *urb)
+ 	return;
+ free:
+ 	kfree_skb(skb);
+-	kfree(rx_buf);
+ }
+ 
+ static void ath9k_hif_usb_reg_in_cb(struct urb *urb)
+ {
+-	struct rx_buf *rx_buf = (struct rx_buf *)urb->context;
+-	struct hif_device_usb *hif_dev = rx_buf->hif_dev;
+-	struct sk_buff *skb = rx_buf->skb;
++	struct sk_buff *skb = (struct sk_buff *) urb->context;
+ 	struct sk_buff *nskb;
++	struct hif_device_usb *hif_dev =
++		usb_get_intfdata(usb_ifnum_to_if(urb->dev, 0));
+ 	int ret;
+ 
+ 	if (!skb)
+@@ -751,7 +750,6 @@ static void ath9k_hif_usb_reg_in_cb(struct urb *urb)
+ 	return;
+ free:
+ 	kfree_skb(skb);
+-	kfree(rx_buf);
+ 	urb->context = NULL;
+ }
+ 
+@@ -797,7 +795,7 @@ static int ath9k_hif_usb_alloc_tx_urbs(struct hif_device_usb *hif_dev)
+ 	init_usb_anchor(&hif_dev->mgmt_submitted);
+ 
+ 	for (i = 0; i < MAX_TX_URB_NUM; i++) {
+-		tx_buf = kzalloc(sizeof(*tx_buf), GFP_KERNEL);
++		tx_buf = kzalloc(sizeof(struct tx_buf), GFP_KERNEL);
+ 		if (!tx_buf)
+ 			goto err;
+ 
+@@ -834,146 +832,122 @@ static void ath9k_hif_usb_dealloc_rx_urbs(struct hif_device_usb *hif_dev)
+ 
+ static int ath9k_hif_usb_alloc_rx_urbs(struct hif_device_usb *hif_dev)
+ {
+-	struct rx_buf *rx_buf = NULL;
+-	struct sk_buff *skb = NULL;
+ 	struct urb *urb = NULL;
++	struct sk_buff *skb = NULL;
+ 	int i, ret;
+ 
+ 	init_usb_anchor(&hif_dev->rx_submitted);
+ 	spin_lock_init(&hif_dev->rx_lock);
+ 
+ 	for (i = 0; i < MAX_RX_URB_NUM; i++) {
+ 
+-		rx_buf = kzalloc(sizeof(*rx_buf), GFP_KERNEL);
+-		if (!rx_buf) {
+-			ret = -ENOMEM;
+-			goto err_rxb;
+-		}
+-
+ 		/* Allocate URB */
+ 		urb = usb_alloc_urb(0, GFP_KERNEL);
+ 		if (urb == NULL) {
+ 			ret = -ENOMEM;
+ 			goto err_urb;
+ 		}
+ 
+ 		/* Allocate buffer */
+ 		skb = alloc_skb(MAX_RX_BUF_SIZE, GFP_KERNEL);
+ 		if (!skb) {
+ 			ret = -ENOMEM;
+ 			goto err_skb;
+ 		}
+ 
+-		rx_buf->hif_dev = hif_dev;
+-		rx_buf->skb = skb;
+-
+ 		usb_fill_bulk_urb(urb, hif_dev->udev,
+ 				  usb_rcvbulkpipe(hif_dev->udev,
+ 						  USB_WLAN_RX_PIPE),
+ 				  skb->data, MAX_RX_BUF_SIZE,
+-				  ath9k_hif_usb_rx_cb, rx_buf);
++				  ath9k_hif_usb_rx_cb, skb);
+ 
+ 		/* Anchor URB */
+ 		usb_anchor_urb(urb, &hif_dev->rx_submitted);
+ 
+ 		/* Submit URB */
+ 		ret = usb_submit_urb(urb, GFP_KERNEL);
+ 		if (ret) {
+ 			usb_unanchor_urb(urb);
+ 			goto err_submit;
+ 		}
+ 
+ 		/*
+ 		 * Drop reference count.
+ 		 * This ensures that the URB is freed when killing them.
+ 		 */
+ 		usb_free_urb(urb);
+ 	}
+ 
+ 	return 0;
+ 
+ err_submit:
+ 	kfree_skb(skb);
+ err_skb:
+ 	usb_free_urb(urb);
+ err_urb:
+-	kfree(rx_buf);
+-err_rxb:
+ 	ath9k_hif_usb_dealloc_rx_urbs(hif_dev);
+ 	return ret;
+ }
+ 
+ static void ath9k_hif_usb_dealloc_reg_in_urbs(struct hif_device_usb *hif_dev)
+ {
+ 	usb_kill_anchored_urbs(&hif_dev->reg_in_submitted);
+ }
+ 
+ static int ath9k_hif_usb_alloc_reg_in_urbs(struct hif_device_usb *hif_dev)
+ {
+-	struct rx_buf *rx_buf = NULL;
+-	struct sk_buff *skb = NULL;
+ 	struct urb *urb = NULL;
++	struct sk_buff *skb = NULL;
+ 	int i, ret;
+ 
+ 	init_usb_anchor(&hif_dev->reg_in_submitted);
+ 
+ 	for (i = 0; i < MAX_REG_IN_URB_NUM; i++) {
+ 
+-		rx_buf = kzalloc(sizeof(*rx_buf), GFP_KERNEL);
+-		if (!rx_buf) {
+-			ret = -ENOMEM;
+-			goto err_rxb;
+-		}
+-
+ 		/* Allocate URB */
+ 		urb = usb_alloc_urb(0, GFP_KERNEL);
+ 		if (urb == NULL) {
+ 			ret = -ENOMEM;
+ 			goto err_urb;
+ 		}
+ 
+ 		/* Allocate buffer */
+ 		skb = alloc_skb(MAX_REG_IN_BUF_SIZE, GFP_KERNEL);
+ 		if (!skb) {
+ 			ret = -ENOMEM;
+ 			goto err_skb;
+ 		}
+ 
+-		rx_buf->hif_dev = hif_dev;
+-		rx_buf->skb = skb;
+-
+ 		usb_fill_int_urb(urb, hif_dev->udev,
+ 				  usb_rcvintpipe(hif_dev->udev,
+ 						  USB_REG_IN_PIPE),
+ 				  skb->data, MAX_REG_IN_BUF_SIZE,
+-				  ath9k_hif_usb_reg_in_cb, rx_buf, 1);
++				  ath9k_hif_usb_reg_in_cb, skb, 1);
+ 
+ 		/* Anchor URB */
+ 		usb_anchor_urb(urb, &hif_dev->reg_in_submitted);
+ 
+ 		/* Submit URB */
+ 		ret = usb_submit_urb(urb, GFP_KERNEL);
+ 		if (ret) {
+ 			usb_unanchor_urb(urb);
+ 			goto err_submit;
+ 		}
+ 
+ 		/*
+ 		 * Drop reference count.
+ 		 * This ensures that the URB is freed when killing them.
+ 		 */
+ 		usb_free_urb(urb);
+ 	}
+ 
+ 	return 0;
+ 
+ err_submit:
+ 	kfree_skb(skb);
+ err_skb:
+ 	usb_free_urb(urb);
+ err_urb:
+-	kfree(rx_buf);
+-err_rxb:
+ 	ath9k_hif_usb_dealloc_reg_in_urbs(hif_dev);
+ 	return ret;
+ }
+diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.h b/drivers/net/wireless/ath/ath9k/hif_usb.h
+index 5985aa15ca93..a94e7e1c86e9 100644
+--- a/drivers/net/wireless/ath/ath9k/hif_usb.h
++++ b/drivers/net/wireless/ath/ath9k/hif_usb.h
+@@ -86,11 +86,6 @@ struct tx_buf {
+ 	struct list_head list;
+ };
+ 
+-struct rx_buf {
+-	struct sk_buff *skb;
+-	struct hif_device_usb *hif_dev;
+-};
+-
+ #define HIF_USB_TX_STOP  BIT(0)
+ #define HIF_USB_TX_FLUSH BIT(1)
+ 
+-- 
+2.27.0
+

Deleted: 0003-drm-amd-display-Only-revalidate-bandwidth-on-medium-.patch
===================================================================
--- 0003-drm-amd-display-Only-revalidate-bandwidth-on-medium-.patch	2020-07-09 18:11:25 UTC (rev 391504)
+++ 0003-drm-amd-display-Only-revalidate-bandwidth-on-medium-.patch	2020-07-09 18:35:31 UTC (rev 391505)
@@ -1,43 +0,0 @@
-From e140fa77c6a3f6b5282553ac91be3dae6cc7cc0b Mon Sep 17 00:00:00 2001
-From: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
-Date: Mon, 29 Jun 2020 13:03:52 -0400
-Subject: [PATCH 2/2] drm/amd/display: Only revalidate bandwidth on medium and
- fast updates
-
-[Why]
-Changes that are fast don't require updating DLG parameters making
-this call unnecessary. Considering this is an expensive call it should
-not be done on every flip.
-
-[How]
-Guard the validation to only happen if update type isn't FAST.
-
-Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
----
- drivers/gpu/drm/amd/display/dc/core/dc.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index 47e7d11ca0c9..68d56a91d44b 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -2226,10 +2226,12 @@ void dc_commit_updates_for_stream(struct dc *dc,
- 
- 	copy_stream_update_to_stream(dc, context, stream, stream_update);
- 
--	if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
--		DC_ERROR("Mode validation failed for stream update!\n");
--		dc_release_state(context);
--		return;
-+	if (update_type > UPDATE_TYPE_FAST) {
-+		if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
-+			DC_ERROR("Mode validation failed for stream update!\n");
-+			dc_release_state(context);
-+			return;
-+		}
- 	}
- 
- 	commit_planes_for_stream(
--- 
-2.27.0
-

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-07-09 18:11:25 UTC (rev 391504)
+++ PKGBUILD	2020-07-09 18:35:31 UTC (rev 391505)
@@ -1,7 +1,7 @@
 # Maintainer: Andreas Radke <andyrtr at archlinux.org>
 
 pkgbase=linux-lts
-pkgver=5.4.50
+pkgver=5.4.51
 pkgrel=1
 pkgdesc='LTS Linux'
 url="https://www.kernel.org/"
@@ -17,8 +17,7 @@
   https://www.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
   config         # the main kernel config file
   0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
-  0002-ALSA-usb-audio-Fix-packet-size-calculation.patch
-  0003-drm-amd-display-Only-revalidate-bandwidth-on-medium-.patch
+  0002-Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch
   sphinx-workaround.patch
 )
 validpgpkeys=(
@@ -26,12 +25,11 @@
   '647F28654894E3BD457199BE38DBBDC86092693E'  # Greg Kroah-Hartman
 )
 # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256sums=('ad10f4c1e900f4e3eb4903b65dbcb4ca74250de63aa9fa7105b9b3c3f9a8a6e2'
+sha256sums=('9e8bea8b4cd636726b7e495a3b467c8ffe96f8eddc159a45fe4a7e6e07a2069d'
             'SKIP'
             'd20936f94b29f3e86513108ab772ef4778a8cb95ec7cd44519523a6eea40aa5d'
-            'bdd05caf94135898bceac0a9d14ec6b1b458dba162d00efd46a292fe97f2679b'
-            'a4c0688aaf3e94c60f20684ed5fed8c8c1c4974926fa37c6fc50bb143d73c4f0'
-            '085b7ca855a0d6630b2a8b34f3d0d541c64ba816eefb0b72f96e2ca9d0907592'
+            '93de5436e4d62abd7d3f2f9de0008aa647e67cba5a54fea0641ddcf4f6d85e97'
+            '5a317a467e5387e711f2ecc7c70b94d5df5bda10429e9c5cd7002e6b710bd2d0'
             'b7c814c8183e4645947a6dcc3cbf80431de8a8fd4e895b780f9a5fd92f82cb8e')
 
 export KBUILD_BUILD_HOST=archlinux



More information about the arch-commits mailing list