From c3a75b48e901be6bc0085366e49c3e466ffd845d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 6 Sep 2021 10:07:26 +0200 Subject: [PATCH] 5.4-stable patches added patches: alsa-hda-realtek-workaround-for-conflicting-ssid-on-asus-rog-strix-g17.patch alsa-pcm-fix-divide-error-in-snd_pcm_lib_ioctl.patch --- ...nflicting-ssid-on-asus-rog-strix-g17.patch | 48 +++++++++++++++++++ ...ix-divide-error-in-snd_pcm_lib_ioctl.patch | 35 ++++++++++++++ queue-5.4/series | 2 + 3 files changed, 85 insertions(+) create mode 100644 queue-5.4/alsa-hda-realtek-workaround-for-conflicting-ssid-on-asus-rog-strix-g17.patch create mode 100644 queue-5.4/alsa-pcm-fix-divide-error-in-snd_pcm_lib_ioctl.patch diff --git a/queue-5.4/alsa-hda-realtek-workaround-for-conflicting-ssid-on-asus-rog-strix-g17.patch b/queue-5.4/alsa-hda-realtek-workaround-for-conflicting-ssid-on-asus-rog-strix-g17.patch new file mode 100644 index 00000000000..0d5435477e2 --- /dev/null +++ b/queue-5.4/alsa-hda-realtek-workaround-for-conflicting-ssid-on-asus-rog-strix-g17.patch @@ -0,0 +1,48 @@ +From 13d9c6b998aaa76fd098133277a28a21f2cc2264 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Fri, 20 Aug 2021 16:32:14 +0200 +Subject: ALSA: hda/realtek: Workaround for conflicting SSID on ASUS ROG Strix G17 + +From: Takashi Iwai + +commit 13d9c6b998aaa76fd098133277a28a21f2cc2264 upstream. + +ASUS ROG Strix G17 has the very same PCI and codec SSID (1043:103f) as +ASUS TX300, and unfortunately, the existing quirk for TX300 is broken +on ASUS ROG. Actually the device works without the quirk, so we'll +need to clear the quirk before applying for this device. +Since ASUS ROG has a different codec (ALC294 - while TX300 has +ALC282), this patch adds a workaround for the device, just clearing +the codec->fixup_id by checking the codec vendor_id. + +It's a bit ugly to add such a workaround there, but it seems to be the +simplest way. + +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214101 +Cc: +Link: https://lore.kernel.org/r/20210820143214.3654-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_realtek.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -9160,6 +9160,16 @@ static int patch_alc269(struct hda_codec + + snd_hda_pick_fixup(codec, alc269_fixup_models, + alc269_fixup_tbl, alc269_fixups); ++ /* FIXME: both TX300 and ROG Strix G17 have the same SSID, and ++ * the quirk breaks the latter (bko#214101). ++ * Clear the wrong entry. ++ */ ++ if (codec->fixup_id == ALC282_FIXUP_ASUS_TX300 && ++ codec->core.vendor_id == 0x10ec0294) { ++ codec_dbg(codec, "Clear wrong fixup for ASUS ROG Strix G17\n"); ++ codec->fixup_id = HDA_FIXUP_ID_NOT_SET; ++ } ++ + snd_hda_pick_pin_fixup(codec, alc269_pin_fixup_tbl, alc269_fixups, true); + snd_hda_pick_pin_fixup(codec, alc269_fallback_pin_fixup_tbl, alc269_fixups, false); + snd_hda_pick_fixup(codec, NULL, alc269_fixup_vendor_tbl, diff --git a/queue-5.4/alsa-pcm-fix-divide-error-in-snd_pcm_lib_ioctl.patch b/queue-5.4/alsa-pcm-fix-divide-error-in-snd_pcm_lib_ioctl.patch new file mode 100644 index 00000000000..e8f6128e34a --- /dev/null +++ b/queue-5.4/alsa-pcm-fix-divide-error-in-snd_pcm_lib_ioctl.patch @@ -0,0 +1,35 @@ +From f3eef46f0518a2b32ca1244015820c35a22cfe4a Mon Sep 17 00:00:00 2001 +From: Zubin Mithra +Date: Fri, 27 Aug 2021 08:37:35 -0700 +Subject: ALSA: pcm: fix divide error in snd_pcm_lib_ioctl + +From: Zubin Mithra + +commit f3eef46f0518a2b32ca1244015820c35a22cfe4a upstream. + +Syzkaller reported a divide error in snd_pcm_lib_ioctl. fifo_size +is of type snd_pcm_uframes_t(unsigned long). If frame_size +is 0x100000000, the error occurs. + +Fixes: a9960e6a293e ("ALSA: pcm: fix fifo_size frame calculation") +Signed-off-by: Zubin Mithra +Reviewed-by: Guenter Roeck +Cc: +Link: https://lore.kernel.org/r/20210827153735.789452-1-zsm@chromium.org +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/core/pcm_lib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/core/pcm_lib.c ++++ b/sound/core/pcm_lib.c +@@ -1736,7 +1736,7 @@ static int snd_pcm_lib_ioctl_fifo_size(s + channels = params_channels(params); + frame_size = snd_pcm_format_size(format, channels); + if (frame_size > 0) +- params->fifo_size /= (unsigned)frame_size; ++ params->fifo_size /= frame_size; + } + return 0; + } diff --git a/queue-5.4/series b/queue-5.4/series index c9f57d39da1..9f85bdc3efa 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -15,3 +15,5 @@ perf-x86-amd-ibs-work-around-erratum-1197.patch perf-x86-amd-power-assign-pmu.module.patch cryptoloop-add-a-deprecation-warning.patch arm-8918-2-only-build-return_address-if-needed.patch +alsa-hda-realtek-workaround-for-conflicting-ssid-on-asus-rog-strix-g17.patch +alsa-pcm-fix-divide-error-in-snd_pcm_lib_ioctl.patch -- 2.47.3