diff --git a/antenna_select.patch b/antenna_select.patch deleted file mode 100644 index 15763e9bc..000000000 --- a/antenna_select.patch +++ /dev/null @@ -1,227 +0,0 @@ -From c18d8f5095715c56bb3cd9cba64242542632054b Mon Sep 17 00:00:00 2001 -From: Larry Finger -Date: Wed, 16 Mar 2016 13:33:34 -0500 -Subject: rtlwifi: rtl8723be: Add antenna select module parameter - -A number of new laptops have been delivered with only a single antenna. -In principle, this is OK; however, a problem arises when the on-board -EEPROM is programmed to use the other antenna connection. The option -of opening the computer and moving the connector is not always possible -as it will void the warranty in some cases. In addition, this solution -breaks the Windows driver when the box dual boots Linux and Windows. - -A fix involving a new module parameter has been developed. This commit -adds the new parameter and implements the changes needed for the driver. - -Signed-off-by: Larry Finger -Cc: Stable [V4.0+] -Signed-off-by: Kalle Valo ---- - drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 5 +++++ - drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c | 3 +++ - drivers/net/wireless/realtek/rtlwifi/wifi.h | 3 +++ - 3 files changed, 11 insertions(+) - -diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c -index c983d2f..5a3df91 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c -+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c -@@ -2684,6 +2684,7 @@ void rtl8723be_read_bt_coexist_info_from_hwpg(struct ieee80211_hw *hw, - bool auto_load_fail, u8 *hwinfo) - { - struct rtl_priv *rtlpriv = rtl_priv(hw); -+ struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params; - u8 value; - u32 tmpu_32; - -@@ -2702,6 +2703,10 @@ void rtl8723be_read_bt_coexist_info_from_hwpg(struct ieee80211_hw *hw, - rtlpriv->btcoexist.btc_info.ant_num = ANT_X2; - } - -+ /* override ant_num / ant_path */ -+ if (mod_params->ant_sel) -+ rtlpriv->btcoexist.btc_info.ant_num = -+ (mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1); - } - - void rtl8723be_bt_reg_init(struct ieee80211_hw *hw) -diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c -index a78eaed..2101793 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c -+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c -@@ -273,6 +273,7 @@ static struct rtl_mod_params rtl8723be_mod_params = { - .msi_support = false, - .disable_watchdog = false, - .debug = DBG_EMERG, -+ .ant_sel = 0, - }; - - static struct rtl_hal_cfg rtl8723be_hal_cfg = { -@@ -394,6 +395,7 @@ module_param_named(fwlps, rtl8723be_mod_params.fwctrl_lps, bool, 0444); - module_param_named(msi, rtl8723be_mod_params.msi_support, bool, 0444); - module_param_named(disable_watchdog, rtl8723be_mod_params.disable_watchdog, - bool, 0444); -+module_param_named(ant_sel, rtl8723be_mod_params.ant_sel, int, 0444); - MODULE_PARM_DESC(swenc, "Set to 1 for software crypto (default 0)\n"); - MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n"); - MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n"); -@@ -402,6 +404,7 @@ MODULE_PARM_DESC(msi, "Set to 1 to use MSI interrupts mode (default 0)\n"); - MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)"); - MODULE_PARM_DESC(disable_watchdog, - "Set to 1 to disable the watchdog (default 0)\n"); -+MODULE_PARM_DESC(ant_sel, "Set to 1 or 2 to force antenna number (default 0)\n"); - - static SIMPLE_DEV_PM_OPS(rtlwifi_pm_ops, rtl_pci_suspend, rtl_pci_resume); - -diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h -index 554d814..93bd7fc 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/wifi.h -+++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h -@@ -2246,6 +2246,9 @@ struct rtl_mod_params { - - /* default 0: 1 means do not disable interrupts */ - bool int_clear; -+ -+ /* select antenna */ -+ int ant_sel; - }; - - struct rtl_hal_usbint_cfg { --- -cgit v0.12 - -From baa1702290953295e421f0f433e2b1ff4815827c Mon Sep 17 00:00:00 2001 -From: Larry Finger -Date: Wed, 16 Mar 2016 13:33:35 -0500 -Subject: rtlwifi: btcoexist: Implement antenna selection - -The previous patch added an option to rtl8723be to manually select the -antenna for those cases when only a single antenna is present, and the -on-board EEPROM is incorrectly programmed. This patch implements the -necessary changes in the Bluetooth coexistence driver. - -Signed-off-by: Larry Finger -Cc: Stable [V4.0+] -Signed-off-by: Kalle Valo ---- - .../realtek/rtlwifi/btcoexist/halbtc8723b2ant.c | 9 ++++++-- - .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c | 27 +++++++++++++++++++++- - .../realtek/rtlwifi/btcoexist/halbtcoutsrc.h | 2 +- - .../wireless/realtek/rtlwifi/btcoexist/rtl_btc.c | 5 +++- - 4 files changed, 38 insertions(+), 5 deletions(-) - -diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c -index c43ab59..77cbd10 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c -+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c -@@ -1203,7 +1203,6 @@ static void btc8723b2ant_set_ant_path(struct btc_coexist *btcoexist, - - /* Force GNT_BT to low */ - btcoexist->btc_write_1byte_bitmask(btcoexist, 0x765, 0x18, 0x0); -- btcoexist->btc_write_2byte(btcoexist, 0x948, 0x0); - - if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT) { - /* tell firmware "no antenna inverse" */ -@@ -1211,19 +1210,25 @@ static void btc8723b2ant_set_ant_path(struct btc_coexist *btcoexist, - h2c_parameter[1] = 1; /* ext switch type */ - btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, - h2c_parameter); -+ btcoexist->btc_write_2byte(btcoexist, 0x948, 0x0); - } else { - /* tell firmware "antenna inverse" */ - h2c_parameter[0] = 1; - h2c_parameter[1] = 1; /* ext switch type */ - btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, - h2c_parameter); -+ btcoexist->btc_write_2byte(btcoexist, 0x948, 0x280); - } - } - - /* ext switch setting */ - if (use_ext_switch) { - /* fixed internal switch S1->WiFi, S0->BT */ -- btcoexist->btc_write_2byte(btcoexist, 0x948, 0x0); -+ if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT) -+ btcoexist->btc_write_2byte(btcoexist, 0x948, 0x0); -+ else -+ btcoexist->btc_write_2byte(btcoexist, 0x948, 0x280); -+ - switch (antpos_type) { - case BTC_ANT_WIFI_AT_MAIN: - /* ext switch main at wifi */ -diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c -index b2791c8..babd149 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c -+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c -@@ -965,13 +965,38 @@ void exhalbtc_set_chip_type(u8 chip_type) - } - } - --void exhalbtc_set_ant_num(u8 type, u8 ant_num) -+void exhalbtc_set_ant_num(struct rtl_priv *rtlpriv, u8 type, u8 ant_num) - { - if (BT_COEX_ANT_TYPE_PG == type) { - gl_bt_coexist.board_info.pg_ant_num = ant_num; - gl_bt_coexist.board_info.btdm_ant_num = ant_num; -+ /* The antenna position: -+ * Main (default) or Aux for pgAntNum=2 && btdmAntNum =1. -+ * The antenna position should be determined by -+ * auto-detect mechanism. -+ * The following is assumed to main, -+ * and those must be modified -+ * if y auto-detect mechanism is ready -+ */ -+ if ((gl_bt_coexist.board_info.pg_ant_num == 2) && -+ (gl_bt_coexist.board_info.btdm_ant_num == 1)) -+ gl_bt_coexist.board_info.btdm_ant_pos = -+ BTC_ANTENNA_AT_MAIN_PORT; -+ else -+ gl_bt_coexist.board_info.btdm_ant_pos = -+ BTC_ANTENNA_AT_MAIN_PORT; - } else if (BT_COEX_ANT_TYPE_ANTDIV == type) { - gl_bt_coexist.board_info.btdm_ant_num = ant_num; -+ gl_bt_coexist.board_info.btdm_ant_pos = -+ BTC_ANTENNA_AT_MAIN_PORT; -+ } else if (type == BT_COEX_ANT_TYPE_DETECTED) { -+ gl_bt_coexist.board_info.btdm_ant_num = ant_num; -+ if (rtlpriv->cfg->mod_params->ant_sel == 1) -+ gl_bt_coexist.board_info.btdm_ant_pos = -+ BTC_ANTENNA_AT_AUX_PORT; -+ else -+ gl_bt_coexist.board_info.btdm_ant_pos = -+ BTC_ANTENNA_AT_MAIN_PORT; - } - } - -diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h -index 0a903ea..f41ca57 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h -+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h -@@ -535,7 +535,7 @@ void exhalbtc_set_bt_patch_version(u16 bt_hci_version, u16 bt_patch_version); - void exhalbtc_update_min_bt_rssi(char bt_rssi); - void exhalbtc_set_bt_exist(bool bt_exist); - void exhalbtc_set_chip_type(u8 chip_type); --void exhalbtc_set_ant_num(u8 type, u8 ant_num); -+void exhalbtc_set_ant_num(struct rtl_priv *rtlpriv, u8 type, u8 ant_num); - void exhalbtc_display_bt_coex_info(struct btc_coexist *btcoexist); - void exhalbtc_signal_compensation(struct btc_coexist *btcoexist, - u8 *rssi_wifi, u8 *rssi_bt); -diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c -index b9b0cb7..d3fd921 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c -+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c -@@ -72,7 +72,10 @@ void rtl_btc_init_hal_vars(struct rtl_priv *rtlpriv) - __func__, bt_type); - exhalbtc_set_chip_type(bt_type); - -- exhalbtc_set_ant_num(BT_COEX_ANT_TYPE_PG, ant_num); -+ if (rtlpriv->cfg->mod_params->ant_sel == 1) -+ exhalbtc_set_ant_num(rtlpriv, BT_COEX_ANT_TYPE_DETECTED, 1); -+ else -+ exhalbtc_set_ant_num(rtlpriv, BT_COEX_ANT_TYPE_PG, ant_num); - } - - void rtl_btc_init_hw_config(struct rtl_priv *rtlpriv) --- -cgit v0.12 - diff --git a/kernel.spec b/kernel.spec index 907e37b17..4e53f2412 100644 --- a/kernel.spec +++ b/kernel.spec @@ -54,7 +54,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 1 +%define stable_update 2 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -608,9 +608,6 @@ Patch641: disable-CONFIG_EXPERT-for-ZONE_DMA.patch #CVE-2016-3134 rhbz 1317383 1317384 Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch -#rhbz 1309487 -Patch701: antenna_select.patch - #CVE-2016-4482 rhbz 1332931 1332932 Patch706: USB-usbfs-fix-potential-infoleak-in-devio.patch @@ -2156,6 +2153,9 @@ fi # # %changelog +* Wed Jun 08 2016 Josh Boyer +- Linux v4.6.2 + * Tue Jun 07 2016 Josh Boyer - CVE-2016-5244 info leak in rds (rhbz 1343338 1343337) - CVE-2016-5243 info leak in tipc (rhbz 1343338 1343335) diff --git a/sources b/sources index 218952fc8..97a63ff63 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ d2927020e24a76da4ab482a8bc3e9ef3 linux-4.6.tar.xz fd23b14b9d474c3dfacb6e8ee82d3a51 perf-man-4.6.tar.gz -e3479d9c8a0e8757c16eb03a4258587c patch-4.6.1.xz +c064bbe8108b8e5304f3db2130a96845 patch-4.6.2.xz