Update to 4.12.12
This commit is contained in:
parent
68b6e32819
commit
41ff7a03ca
|
@ -1,4 +1,4 @@
|
|||
linux (4.12.11-1) UNRELEASED; urgency=medium
|
||||
linux (4.12.12-1) UNRELEASED; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.7
|
||||
|
@ -223,6 +223,46 @@ linux (4.12.11-1) UNRELEASED; urgency=medium
|
|||
- drm/nouveau/i2c/gf119-: add support for address-only transactions
|
||||
- epoll: fix race between ep_poll_callback(POLLFREE) and
|
||||
ep_free()/ep_remove()
|
||||
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.12
|
||||
- usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard
|
||||
- USB: serial: option: add support for D-Link DWM-157 C1
|
||||
- usb: Add device quirk for Logitech HD Pro Webcam C920-C
|
||||
- usb:xhci:Fix regression when ATI chipsets detected
|
||||
- [armhf] USB: musb: fix external abort on suspend
|
||||
- USB: core: Avoid race of async_completed() w/ usbdev_release()
|
||||
- [x86] staging/rts5208: fix incorrect shift to extract upper nybble
|
||||
- iio: adc: ti-ads1015: fix incorrect data rate setting update
|
||||
- iio: adc: ti-ads1015: fix scale information for ADS1115
|
||||
- iio: adc: ti-ads1015: enable conversion when CONFIG_PM is not set
|
||||
- iio: adc: ti-ads1015: avoid getting stale result after runtime resume
|
||||
- iio: adc: ti-ads1015: don't return invalid value from buffer setup
|
||||
callbacks
|
||||
- iio: adc: ti-ads1015: add adequate wait time to get correct conversion
|
||||
- driver core: bus: Fix a potential double free
|
||||
- HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage
|
||||
- [x86] intel_th: pci: Add Cannon Lake PCH-H support
|
||||
- [x86] intel_th: pci: Add Cannon Lake PCH-LP support
|
||||
- ath10k: fix memory leak in rx ring buffer allocation
|
||||
- Input: trackpoint - assume 3 buttons when buttons detection fails
|
||||
- rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter
|
||||
- Bluetooth: Add support of 13d3:3494 RTL8723BE device
|
||||
- iwlwifi: pci: add new PCI ID for 7265D
|
||||
- dlm: avoid double-free on error path in dlm_device_{register,unregister}
|
||||
- mwifiex: correct channel stat buffer overflows
|
||||
- [s390x] mm: avoid empty zero pages for KVM guests to avoid postcopy
|
||||
hangs
|
||||
- [s390x] mm: fix BUG_ON in crst_table_upgrade
|
||||
- drm/nouveau/pci/msi: disable MSI on big-endian platforms by default
|
||||
- drm/nouveau: Fix error handling in nv50_disp_atomic_commit
|
||||
- workqueue: Fix flag collision
|
||||
- ahci: don't use MSI for devices with the silly Intel NVMe remapping
|
||||
scheme
|
||||
- cs5536: add support for IDE controller variant
|
||||
- scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE
|
||||
- scsi: sg: recheck MMAP_IO request length with lock held
|
||||
- of/device: Prevent buffer overflow in of_device_modalias()
|
||||
- rtlwifi: Fix memory leak when firmware request fails
|
||||
- rtlwifi: Fix fallback firmware loading
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [alpha] udeb: Add i2c-modules (fixes FTBFS)
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
From: Sven Joachim <svenjoac@gmx.de>
|
||||
Date: Mon, 31 Jul 2017 18:10:45 +0200
|
||||
Subject: rtlwifi: Fix fallback firmware loading
|
||||
Origin: https://git.kernel.org/linus/1d9b168d8ea9a0f51947d0e2f84856e77d2fe7ff
|
||||
Bug-Debian: https://bugs.debian.org/869084
|
||||
|
||||
Commit f70e4df2b384 ("rtlwifi: Add code to read new versions of
|
||||
firmware") added code to load an old firmware file if the new one is
|
||||
not available. Unfortunately that code is never reached because
|
||||
request_firmware_nowait() does not wait for the firmware to show up
|
||||
and returns 0 even if the file is not there.
|
||||
|
||||
Use the existing fallback mechanism introduced by commit 62009b7f1279
|
||||
("rtlwifi: rtl8192cu: Add new firmware") instead.
|
||||
|
||||
Fixes: f70e4df2b384 ("rtlwifi: Add code to read new versions of firmware")
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Sven Joachim <svenjoac@gmx.de>
|
||||
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c | 17 +++++------------
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c | 17 +++++------------
|
||||
2 files changed, 10 insertions(+), 24 deletions(-)
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
|
||||
@@ -187,18 +187,10 @@ int rtl8723be_init_sw_vars(struct ieee80
|
||||
rtlpriv->io.dev, GFP_KERNEL, hw,
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
- /* Failed to get firmware. Check if old version available */
|
||||
- fw_name = "rtlwifi/rtl8723befw.bin";
|
||||
- pr_info("Using firmware %s\n", fw_name);
|
||||
- err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
|
||||
- rtlpriv->io.dev, GFP_KERNEL, hw,
|
||||
- rtl_fw_cb);
|
||||
- if (err) {
|
||||
- pr_err("Failed to request firmware!\n");
|
||||
- vfree(rtlpriv->rtlhal.pfirmware);
|
||||
- rtlpriv->rtlhal.pfirmware = NULL;
|
||||
- return 1;
|
||||
- }
|
||||
+ pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
+ return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -289,6 +281,7 @@ static const struct rtl_hal_cfg rtl8723b
|
||||
.bar_id = 2,
|
||||
.write_readback = true,
|
||||
.name = "rtl8723be_pci",
|
||||
+ .alt_fw_name = "rtlwifi/rtl8723befw.bin",
|
||||
.ops = &rtl8723be_hal_ops,
|
||||
.mod_params = &rtl8723be_mod_params,
|
||||
.maps[SYS_ISO_CTRL] = REG_SYS_ISO_CTRL,
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
|
||||
@@ -216,18 +216,10 @@ int rtl8821ae_init_sw_vars(struct ieee80
|
||||
rtlpriv->io.dev, GFP_KERNEL, hw,
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
- /* Failed to get firmware. Check if old version available */
|
||||
- fw_name = "rtlwifi/rtl8821aefw.bin";
|
||||
- pr_info("Using firmware %s\n", fw_name);
|
||||
- err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
|
||||
- rtlpriv->io.dev, GFP_KERNEL, hw,
|
||||
- rtl_fw_cb);
|
||||
- if (err) {
|
||||
- pr_err("Failed to request normal firmware!\n");
|
||||
- vfree(rtlpriv->rtlhal.wowlan_firmware);
|
||||
- vfree(rtlpriv->rtlhal.pfirmware);
|
||||
- return 1;
|
||||
- }
|
||||
+ pr_err("Failed to request normal firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.wowlan_firmware);
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ return 1;
|
||||
}
|
||||
/*load wowlan firmware*/
|
||||
pr_info("Using firmware %s\n", wowlan_fw_name);
|
||||
@@ -331,6 +323,7 @@ static const struct rtl_hal_cfg rtl8821a
|
||||
.bar_id = 2,
|
||||
.write_readback = true,
|
||||
.name = "rtl8821ae_pci",
|
||||
+ .alt_fw_name = "rtlwifi/rtl8821aefw.bin",
|
||||
.ops = &rtl8821ae_hal_ops,
|
||||
.mod_params = &rtl8821ae_mod_params,
|
||||
.maps[SYS_ISO_CTRL] = REG_SYS_ISO_CTRL,
|
|
@ -1,142 +0,0 @@
|
|||
From: Souptick Joarder <jrdr.linux@gmail.com>
|
||||
Date: Wed, 5 Jul 2017 19:55:06 +0530
|
||||
Subject: rtlwifi: Fix memory leak when firmware request fails
|
||||
Origin: https://git.kernel.org/linus/f2764f61fa10593204b0c5e4e9a68dba02112e50
|
||||
Bug-Debian: https://bugs.debian.org/869084
|
||||
|
||||
This patch will fix memory leak when firmware request fails
|
||||
|
||||
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
|
||||
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c | 4 ++++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c | 2 ++
|
||||
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c | 6 ++++++
|
||||
9 files changed, 24 insertions(+)
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
|
||||
@@ -175,6 +175,8 @@ int rtl88e_init_sw_vars(struct ieee80211
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_info("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
|
||||
@@ -176,6 +176,8 @@ int rtl92c_init_sw_vars(struct ieee80211
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
|
||||
@@ -85,6 +85,10 @@ static int rtl92cu_init_sw_vars(struct i
|
||||
err = request_firmware_nowait(THIS_MODULE, 1,
|
||||
fw_name, rtlpriv->io.dev,
|
||||
GFP_KERNEL, hw, rtl_fw_cb);
|
||||
+ if (err) {
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
+ }
|
||||
return err;
|
||||
}
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
|
||||
@@ -183,6 +183,8 @@ static int rtl92d_init_sw_vars(struct ie
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
|
||||
@@ -177,6 +177,8 @@ int rtl92ee_init_sw_vars(struct ieee8021
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
|
||||
@@ -215,6 +215,8 @@ static int rtl92s_init_sw_vars(struct ie
|
||||
rtl92se_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
|
||||
@@ -184,6 +184,8 @@ int rtl8723e_init_sw_vars(struct ieee802
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
|
||||
@@ -195,6 +195,8 @@ int rtl8723be_init_sw_vars(struct ieee80
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
|
||||
@@ -196,6 +196,8 @@ int rtl8821ae_init_sw_vars(struct ieee80
|
||||
rtlpriv->rtlhal.wowlan_firmware = vzalloc(0x8000);
|
||||
if (!rtlpriv->rtlhal.wowlan_firmware) {
|
||||
pr_err("Can't alloc buffer for wowlan fw.\n");
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
+ rtlpriv->rtlhal.pfirmware = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -222,6 +224,8 @@ int rtl8821ae_init_sw_vars(struct ieee80
|
||||
rtl_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request normal firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.wowlan_firmware);
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -233,6 +237,8 @@ int rtl8821ae_init_sw_vars(struct ieee80
|
||||
rtl_wowlan_fw_cb);
|
||||
if (err) {
|
||||
pr_err("Failed to request wowlan firmware!\n");
|
||||
+ vfree(rtlpriv->rtlhal.wowlan_firmware);
|
||||
+ vfree(rtlpriv->rtlhal.pfirmware);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
|
@ -82,8 +82,6 @@ bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
|
|||
bugfix/all/kbuild-do-not-use-hyphen-in-exported-variable-name.patch
|
||||
bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch
|
||||
bugfix/all/kbuild-include-addtree-remove-quotes-before-matching-path.patch
|
||||
bugfix/all/rtlwifi-fix-memory-leak-when-firmware-request-fails.patch
|
||||
bugfix/all/rtlwifi-fix-fallback-firmware-loading.patch
|
||||
bugfix/all/bfq-re-enable-auto-loading-when-built-as-a-module.patch
|
||||
bugfix/all/mtd-nandsim-remove-debugfs-entries-in-error-path.patch
|
||||
|
||||
|
|
Loading…
Reference in New Issue