328 lines
12 KiB
Diff
328 lines
12 KiB
Diff
diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
|
|
index 0840d27381ea..73aba9a31064 100644
|
|
--- a/drivers/tty/Kconfig
|
|
+++ b/drivers/tty/Kconfig
|
|
@@ -75,6 +75,19 @@ config VT_CONSOLE_SLEEP
|
|
def_bool y
|
|
depends on VT_CONSOLE && PM_SLEEP
|
|
|
|
+config NR_TTY_DEVICES
|
|
+ int "Maximum tty device number"
|
|
+ depends on VT
|
|
+ range 12 63
|
|
+ default 63
|
|
+ help
|
|
+ This option is used to change the number of tty devices in /dev.
|
|
+ The default value is 63. The lowest number you can set is 12,
|
|
+ 63 is also the upper limit so we don't overrun the serial
|
|
+ consoles.
|
|
+
|
|
+ If unsure, say 63.
|
|
+
|
|
config HW_CONSOLE
|
|
bool
|
|
depends on VT && !UML
|
|
diff --git a/include/uapi/linux/vt.h b/include/uapi/linux/vt.h
|
|
index e9d39c48520a..3bceead8da40 100644
|
|
--- a/include/uapi/linux/vt.h
|
|
+++ b/include/uapi/linux/vt.h
|
|
@@ -3,12 +3,25 @@
|
|
#define _UAPI_LINUX_VT_H
|
|
|
|
|
|
+/*
|
|
+ * We will make this definition solely for the purpose of making packages
|
|
+ * such as splashutils build, because they can not understand that
|
|
+ * NR_TTY_DEVICES is defined in the kernel configuration.
|
|
+ */
|
|
+#ifndef CONFIG_NR_TTY_DEVICES
|
|
+#define CONFIG_NR_TTY_DEVICES 63
|
|
+#endif
|
|
+
|
|
/*
|
|
* These constants are also useful for user-level apps (e.g., VC
|
|
* resizing).
|
|
*/
|
|
#define MIN_NR_CONSOLES 1 /* must be at least 1 */
|
|
-#define MAX_NR_CONSOLES 63 /* serial lines start at 64 */
|
|
+/*
|
|
+ * NR_TTY_DEVICES:
|
|
+ * Value MUST be at least 12 and must never be higher then 63
|
|
+ */
|
|
+#define MAX_NR_CONSOLES CONFIG_NR_TTY_DEVICES /* serial lines start above this */
|
|
/* Note: the ioctl VT_GETSTATE does not work for
|
|
consoles 16 and higher (since it returns a short) */
|
|
|
|
From 0438f3011663ce01a981bb8b3af0e84e73551ecf Mon Sep 17 00:00:00 2001
|
|
From: Edward Vear <edwardvear@gmail.com>
|
|
Date: Tue, 27 Oct 2020 00:02:03 -0700
|
|
Subject: Bluetooth: Fix attempting to set RPA timeout when unsupported
|
|
|
|
During controller initialization, an LE Set RPA Timeout command is sent
|
|
to the controller if supported. However, the value checked to determine
|
|
if the command is supported is incorrect. Page 1921 of the Bluetooth
|
|
Core Spec v5.2 shows that bit 2 of octet 35 of the Supported_Commands
|
|
field corresponds to the LE Set RPA Timeout command, but currently
|
|
bit 6 of octet 35 is checked. This patch checks the correct value
|
|
instead.
|
|
|
|
This issue led to the error seen in the following btmon output during
|
|
initialization of an adapter (rtl8761b) and prevented initialization
|
|
from completing.
|
|
|
|
< HCI Command: LE Set Resolvable Private Address Timeout (0x08|0x002e) plen 2
|
|
Timeout: 900 seconds
|
|
> HCI Event: Command Complete (0x0e) plen 4
|
|
LE Set Resolvable Private Address Timeout (0x08|0x002e) ncmd 2
|
|
Status: Unsupported Remote Feature / Unsupported LMP Feature (0x1a)
|
|
= Close Index: 00:E0:4C:6B:E5:03
|
|
|
|
The error did not appear when running with this patch.
|
|
|
|
Signed-off-by: Edward Vear <edwardvear@gmail.com>
|
|
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
|
---
|
|
net/bluetooth/hci_core.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
|
|
index 502552d6e9af..c4aa2cbb9269 100644
|
|
--- a/net/bluetooth/hci_core.c
|
|
+++ b/net/bluetooth/hci_core.c
|
|
@@ -763,7 +763,7 @@ static int hci_init3_req(struct hci_request *req, unsigned long opt)
|
|
hci_req_add(req, HCI_OP_LE_CLEAR_RESOLV_LIST, 0, NULL);
|
|
}
|
|
|
|
- if (hdev->commands[35] & 0x40) {
|
|
+ if (hdev->commands[35] & 0x04) {
|
|
__le16 rpa_timeout = cpu_to_le16(hdev->rpa_timeout);
|
|
|
|
/* Set RPA timeout */
|
|
--
|
|
cgit v1.2.3-1-gf6bb5
|
|
|
|
From e5e77ad2223f662e1615266d8ef39a8db7e65a70 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Felix=20H=C3=A4dicke?= <felixhaedicke@web.de>
|
|
Date: Thu, 19 Nov 2020 09:22:32 +0100
|
|
Subject: HID: quirks: Add Apple Magic Trackpad 2 to hid_have_special_driver
|
|
list
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
The Apple Magic Trackpad 2 is handled by the magicmouse driver. And
|
|
there were severe stability issues when both drivers (hid-generic and
|
|
hid-magicmouse) were loaded for this device.
|
|
|
|
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=210241
|
|
|
|
Signed-off-by: Felix Hädicke <felixhaedicke@web.de>
|
|
---
|
|
drivers/hid/hid-quirks.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
|
|
index bf7ecab5d9e5..142e9dae2837 100644
|
|
--- a/drivers/hid/hid-quirks.c
|
|
+++ b/drivers/hid/hid-quirks.c
|
|
@@ -478,6 +478,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
|
#if IS_ENABLED(CONFIG_HID_MAGICMOUSE)
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICMOUSE) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD) },
|
|
+ { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD2) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD2) },
|
|
#endif
|
|
#if IS_ENABLED(CONFIG_HID_MAYFLASH)
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3) },
|
|
--
|
|
cgit v1.2.3-1-gf6bb5
|
|
|
|
From 0128c7314a4d856461caacfdd528a7bffa03d41e Mon Sep 17 00:00:00 2001
|
|
From: Josef Bacik <josef@toxicpanda.com>
|
|
Date: Wed, 23 Dec 2020 14:41:00 -0500
|
|
Subject: btrfs: Fix 500-2000% performance regression w/ 5.10
|
|
|
|
Josef's tentative fix from
|
|
https://lore.kernel.org/linux-btrfs/0382080a1836a12c2d625f8a5bf899828eba204b.1608752315.git.josef@toxicpanda.com/
|
|
|
|
With the conflict fix mentioned in the reply.
|
|
|
|
For https://bugs.archlinux.org/task/69077
|
|
---
|
|
fs/btrfs/space-info.c | 25 ++++++++++++++++++++++++-
|
|
1 file changed, 24 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c
|
|
index 64099565ab8f..8a1ce11b6ed8 100644
|
|
--- a/fs/btrfs/space-info.c
|
|
+++ b/fs/btrfs/space-info.c
|
|
@@ -480,6 +480,28 @@ static inline u64 calc_reclaim_items_nr(struct btrfs_fs_info *fs_info,
|
|
|
|
#define EXTENT_SIZE_PER_ITEM SZ_256K
|
|
|
|
+static void btrfs_writeback_inodes_sb_nr(struct btrfs_fs_info *fs_info,
|
|
+ unsigned long nr_pages, u64 nr_items)
|
|
+{
|
|
+ struct super_block *sb = fs_info->sb;
|
|
+
|
|
+ if (down_read_trylock(&sb->s_umount)) {
|
|
+ writeback_inodes_sb_nr(sb, nr_pages, WB_REASON_FS_FREE_SPACE);
|
|
+ up_read(&sb->s_umount);
|
|
+ } else {
|
|
+ /*
|
|
+ * We needn't worry the filesystem going from r/w to r/o though
|
|
+ * we don't acquire ->s_umount mutex, because the filesystem
|
|
+ * should guarantee the delalloc inodes list be empty after
|
|
+ * the filesystem is readonly(all dirty pages are written to
|
|
+ * the disk).
|
|
+ */
|
|
+ btrfs_start_delalloc_roots(fs_info, nr_items);
|
|
+ if (!current->journal_info)
|
|
+ btrfs_wait_ordered_roots(fs_info, nr_items, 0, (u64)-1);
|
|
+ }
|
|
+}
|
|
+
|
|
/*
|
|
* shrink metadata reservation for delalloc
|
|
*/
|
|
@@ -532,7 +554,8 @@ static void shrink_delalloc(struct btrfs_fs_info *fs_info,
|
|
|
|
loops = 0;
|
|
while ((delalloc_bytes || dio_bytes) && loops < 3) {
|
|
- btrfs_start_delalloc_roots(fs_info, items);
|
|
+ unsigned long nr_pages = min(delalloc_bytes, to_reclaim) >> PAGE_SHIFT;
|
|
+ btrfs_writeback_inodes_sb_nr(fs_info, nr_pages, items);
|
|
|
|
loops++;
|
|
if (wait_ordered && !trans) {
|
|
--
|
|
cgit v1.2.3-1-gf6bb5
|
|
|
|
From 61e5f6548784e507eb0662a71976a673436e6e3a Mon Sep 17 00:00:00 2001
|
|
From: Eric Dumazet <edumazet@google.com>
|
|
Date: Mon, 21 Dec 2020 20:14:02 +0100
|
|
Subject: iwlwifi: Fix regression from UDP segmentation support
|
|
|
|
Eric's tentative fix from
|
|
https://lore.kernel.org/linux-wireless/CANn89iJWG2n1s3j7EdpwkQQv-9dOY02V+FGYHAWguO4JiqWuJA@mail.gmail.com/
|
|
---
|
|
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
|
|
index fe1c538cd718..c27743a58f81 100644
|
|
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
|
|
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
|
|
@@ -833,6 +833,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
|
|
|
|
next = skb_gso_segment(skb, netdev_flags);
|
|
skb_shinfo(skb)->gso_size = mss;
|
|
+ skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
|
|
if (WARN_ON_ONCE(IS_ERR(next)))
|
|
return -EINVAL;
|
|
else if (next)
|
|
@@ -855,6 +856,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
|
|
|
|
if (tcp_payload_len > mss) {
|
|
skb_shinfo(tmp)->gso_size = mss;
|
|
+ skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
|
|
} else {
|
|
if (qos) {
|
|
u8 *qc;
|
|
--
|
|
cgit v1.2.3-1-gf6bb5
|
|
|
|
From 00f09a6a8193b46c83ae1c8ff6623db011f90099 Mon Sep 17 00:00:00 2001
|
|
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
|
Date: Fri, 1 Jan 2021 06:20:32 +0100
|
|
Subject: ALSA: hda/hdmi: fix locking in silent_stream_disable
|
|
|
|
The code unlocked the wrong lock, leading to deadlocks.
|
|
---
|
|
sound/pci/hda/patch_hdmi.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
|
|
index 2ddc27db8c01..d12b4799c3cb 100644
|
|
--- a/sound/pci/hda/patch_hdmi.c
|
|
+++ b/sound/pci/hda/patch_hdmi.c
|
|
@@ -1736,7 +1736,7 @@ static void silent_stream_disable(struct hda_codec *codec,
|
|
per_pin->silent_stream = false;
|
|
|
|
unlock_out:
|
|
- mutex_unlock(&spec->pcm_lock);
|
|
+ mutex_unlock(&per_pin->lock);
|
|
}
|
|
|
|
/* update ELD and jack state via audio component */
|
|
--
|
|
cgit v1.2.3-1-gf6bb5
|
|
|
|
From e437ac931e89629f952ce9f3f9dfe45ac505cd0d Mon Sep 17 00:00:00 2001
|
|
From: Joshua Ashton <joshua@froggi.es>
|
|
Date: Tue, 5 Jan 2021 19:46:01 +0000
|
|
Subject: [PATCH] drm/amdgpu: don't limit gtt size on apus
|
|
|
|
Since commit 24562523688b ("Revert "drm/amd/amdgpu: set gtt size
|
|
according to system memory size only""), the GTT size was limited by
|
|
3GiB or VRAM size.
|
|
|
|
This is problematic on APU systems with a small carveout
|
|
(notably, those that ship with dGPUs where this is unconfigurable),
|
|
where the carveout size can be as low as 128MiB.
|
|
|
|
This makes it so the GTT size heuristic always uses 3/4ths of
|
|
the system memory size on APUs (limiting the size by 3GiB/VRAM size
|
|
only on devices with dedicated video memory).
|
|
|
|
Fixes: 24562523688b ("Revert drm/amd/amdgpu: set gtt size according to
|
|
system memory size only")
|
|
|
|
Signed-off-by: Joshua Ashton <joshua@froggi.es>
|
|
---
|
|
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 5 +++--
|
|
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 +++++++++---
|
|
2 files changed, 12 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
|
|
index 72efd579ec5e..a5a41e9272d6 100644
|
|
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
|
|
@@ -192,8 +192,9 @@ module_param_named(gartsize, amdgpu_gart_size, uint, 0600);
|
|
|
|
/**
|
|
* DOC: gttsize (int)
|
|
- * Restrict the size of GTT domain in MiB for testing. The default is -1 (It's VRAM size if 3GB < VRAM < 3/4 RAM,
|
|
- * otherwise 3/4 RAM size).
|
|
+ * Restrict the size of GTT domain in MiB for testing. The default is -1 (On APUs this is 3/4th
|
|
+ * of the system memory; on dGPUs this is 3GiB or VRAM sized, whichever is bigger,
|
|
+ * with an upper bound of 3/4th of system memory.
|
|
*/
|
|
MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)");
|
|
module_param_named(gttsize, amdgpu_gtt_size, int, 0600);
|
|
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
|
index 4d8f19ab1014..294f26f4f310 100644
|
|
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
|
|
@@ -1865,9 +1865,15 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
|
|
struct sysinfo si;
|
|
|
|
si_meminfo(&si);
|
|
- gtt_size = min(max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20),
|
|
- adev->gmc.mc_vram_size),
|
|
- ((uint64_t)si.totalram * si.mem_unit * 3/4));
|
|
+ gtt_size = (uint64_t)si.totalram * si.mem_unit * 3/4;
|
|
+ /* If we have dedicated memory, limit our GTT size to
|
|
+ * 3GiB or VRAM size, whichever is bigger
|
|
+ */
|
|
+ if (!(adev->flags & AMD_IS_APU)) {
|
|
+ gtt_size = min(max(AMDGPU_DEFAULT_GTT_SIZE_MB << 20,
|
|
+ adev->gmc.mc_vram_size),
|
|
+ gtt_size);
|
|
+ }
|
|
}
|
|
else
|
|
gtt_size = (uint64_t)amdgpu_gtt_size << 20;
|
|
--
|
|
2.30.0
|