diff --git a/kernel/drivers/module-bbswitch/pspec.xml b/kernel/drivers/module-bbswitch/pspec.xml index 8d7b51d6..80df92dc 100644 --- a/kernel/drivers/module-bbswitch/pspec.xml +++ b/kernel/drivers/module-bbswitch/pspec.xml @@ -13,7 +13,7 @@ Kernel module allowing to switch dedicated graphics card on Optimus laptops kernel module allowing to switch dedicated graphics card on Optimus laptops - kernel-module-headers + kernel-module-headers https://github.com/Bumblebee-Project/bbswitch/archive/v0.8.tar.gz @@ -22,7 +22,7 @@ module-bbswitch - kernel + kernel /lib/modules @@ -36,6 +36,13 @@ + + 2018-03-11 + 0.8 + Rebuild for new kernel + Kamil Atlı + suvari@pisilinux.org + 2018-03-03 0.8 diff --git a/kernel/drivers/module-broadcom-wl/pspec.xml b/kernel/drivers/module-broadcom-wl/pspec.xml index 98ecb56c..0873a797 100644 --- a/kernel/drivers/module-broadcom-wl/pspec.xml +++ b/kernel/drivers/module-broadcom-wl/pspec.xml @@ -15,7 +15,7 @@ https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz - kernel-module-headers + kernel-module-headers patch/license.patch @@ -28,7 +28,7 @@ module-broadcom-wl - kernel + kernel module-broadcom-wl-userspace @@ -57,6 +57,13 @@ + + 2018-03-11 + 6.30.223.271 + Rebuild for new kernel. + Kamil Atlı + suvari@pisilinux.org + 2018-03-03 6.30.223.271 diff --git a/kernel/drivers/module-virtualbox-guest/pspec.xml b/kernel/drivers/module-virtualbox-guest/pspec.xml index 62ed0620..7d6d1dd7 100644 --- a/kernel/drivers/module-virtualbox-guest/pspec.xml +++ b/kernel/drivers/module-virtualbox-guest/pspec.xml @@ -14,14 +14,14 @@ This package provides the kernel modules needed for mouse integration and shared folder support between VirtualBox host and guest systems. https://github.com/Rmys/Sources/raw/master/module-virtualbox-guest-5.2.8.tar.xz - kernel-module-headers + kernel-module-headers module-virtualbox-guest - kernel + kernel baselayout module-virtualbox-guest-userspace @@ -52,6 +52,13 @@ + + 2018-03-11 + 5.2.8 + Rebuild for new kernel. + Kamil Atlı + suvari@pisilinux.org + 2018-03-03 5.2.8 diff --git a/kernel/drivers/module-virtualbox/pspec.xml b/kernel/drivers/module-virtualbox/pspec.xml index a3a8d80a..61d7593f 100644 --- a/kernel/drivers/module-virtualbox/pspec.xml +++ b/kernel/drivers/module-virtualbox/pspec.xml @@ -14,7 +14,7 @@ This package provides the kernel support for VirtualBox. https://github.com/Rmys/Sources/raw/master/module-virtualbox-5.2.8.tar.xz - kernel-module-headers + kernel-module-headers @@ -25,7 +25,7 @@ ndiswrapper - kernel + kernel /lib/modules @@ -41,6 +41,13 @@ + + 2018-03-11 + 1.61 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2018-03-03 1.61 diff --git a/kernel/kernel/files/configs/kernel-x86_64-config b/kernel/kernel/files/configs/kernel-x86_64-config index 1f95099a..33867e4e 100644 --- a/kernel/kernel/files/configs/kernel-x86_64-config +++ b/kernel/kernel/files/configs/kernel-x86_64-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 4.9.80 Kernel Configuration +# Linux/x86_64 4.9.86 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -2062,6 +2062,7 @@ CONFIG_SCSI_INITIO=m CONFIG_SCSI_INIA100=m # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set +# CONFIG_PPSCSI is not set CONFIG_SCSI_STEX=m CONFIG_SCSI_SYM53C8XX_2=m CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 @@ -6947,12 +6948,3 @@ CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_ARCH_HAS_MMIO_FLUSH=y CONFIG_SBITMAP=y - -# -# Unofficial 3rd party kernel additions -# -CONFIG_VIAHSS=m -CONFIG_NDISWRAPPER=m -# CONFIG_RTL8812AU is not set -CONFIG_RTL8723BS=m -CONFIG_WLAN_SDIO=y diff --git a/kernel/kernel/files/patches/linux/patch-4.9.86.xz b/kernel/kernel/files/patches/linux/patch-4.9.86.xz new file mode 100644 index 00000000..40158991 Binary files /dev/null and b/kernel/kernel/files/patches/linux/patch-4.9.86.xz differ diff --git a/kernel/kernel/files/patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch b/kernel/kernel/files/patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch new file mode 100644 index 00000000..6f7092cc --- /dev/null +++ b/kernel/kernel/files/patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch @@ -0,0 +1,371 @@ + +From upstream 4.11-rc2+ git + +Fixes mga #20508 + +Signed-off-by: Thomas Backlund + + + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 29 ++-- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c | 2 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 4 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c | 2 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_872tb.c | 2 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 121 +++++++++++------ + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 2 + 7 files changed, 105 insertions(+), 57 deletions(-) + +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c 2017-03-07 22:29:07.840867965 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8188c/8188r/8192c specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8192e specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +@@ -1556,7 +1556,7 @@ exit: + return ret; + } + +-void rtl8192eu_power_off(struct rtl8xxxu_priv *priv) ++static void rtl8192eu_power_off(struct rtl8xxxu_priv *priv) + { + u8 val8; + u16 val16; +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8723a specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8723b specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2017-03-18 13:35:47.148080457 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +@@ -48,7 +48,7 @@ static bool rtl8xxxu_dma_aggregation; + static int rtl8xxxu_dma_agg_timeout = -1; + static int rtl8xxxu_dma_agg_pages = -1; + +-MODULE_AUTHOR("Jes Sorensen "); ++MODULE_AUTHOR("Jes Sorensen "); + MODULE_DESCRIPTION("RTL8XXXu USB mac80211 Wireless LAN Driver"); + MODULE_LICENSE("GPL"); + MODULE_FIRMWARE("rtlwifi/rtl8723aufw_A.bin"); +@@ -4767,13 +4767,28 @@ static void rtl8xxxu_dump_action(struct + * This format is used on 8188cu/8192cu/8723au + */ + void +-rtl8xxxu_fill_txdesc_v1(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable) ++rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc, bool sgi, ++ bool short_preamble, bool ampdu_enable, u32 rts_rate) + { ++ struct ieee80211_rate *tx_rate = ieee80211_get_tx_rate(hw, tx_info); ++ struct rtl8xxxu_priv *priv = hw->priv; ++ struct device *dev = &priv->udev->dev; ++ u32 rate; ++ u16 rate_flags = tx_info->control.rates[0].flags; + u16 seq_number; + ++ if (rate_flags & IEEE80211_TX_RC_MCS && ++ !ieee80211_is_mgmt(hdr->frame_control)) ++ rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; ++ else ++ rate = tx_rate->hw_value; ++ ++ if (rtl8xxxu_debug & RTL8XXXU_DEBUG_TX) ++ dev_info(dev, "%s: TX rate: %d, pkt size %d\n", ++ __func__, rate, cpu_to_le16(tx_desc->pkt_size)); ++ + seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)); + + tx_desc->txdw5 = cpu_to_le32(rate); +@@ -4804,15 +4819,16 @@ rtl8xxxu_fill_txdesc_v1(struct ieee80211 + if (sgi) + tx_desc->txdw5 |= cpu_to_le32(TXDESC32_SHORT_GI); + +- if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) { +- /* +- * Use RTS rate 24M - does the mac80211 tell +- * us which to use? +- */ +- tx_desc->txdw4 |= cpu_to_le32(DESC_RATE_24M << +- TXDESC32_RTS_RATE_SHIFT); ++ /* ++ * rts_rate is zero if RTS/CTS or CTS to SELF are not enabled ++ */ ++ tx_desc->txdw4 |= cpu_to_le32(rts_rate << TXDESC32_RTS_RATE_SHIFT); ++ if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) { + tx_desc->txdw4 |= cpu_to_le32(TXDESC32_RTS_CTS_ENABLE); + tx_desc->txdw4 |= cpu_to_le32(TXDESC32_HW_RTS_ENABLE); ++ } else if (rate_flags & IEEE80211_TX_RC_USE_CTS_PROTECT) { ++ tx_desc->txdw4 |= cpu_to_le32(TXDESC32_CTS_SELF_ENABLE); ++ tx_desc->txdw4 |= cpu_to_le32(TXDESC32_HW_RTS_ENABLE); + } + } + +@@ -4821,16 +4837,31 @@ rtl8xxxu_fill_txdesc_v1(struct ieee80211 + * This format is used on 8192eu/8723bu + */ + void +-rtl8xxxu_fill_txdesc_v2(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc32, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable) ++rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi, ++ bool short_preamble, bool ampdu_enable, u32 rts_rate) + { ++ struct ieee80211_rate *tx_rate = ieee80211_get_tx_rate(hw, tx_info); ++ struct rtl8xxxu_priv *priv = hw->priv; ++ struct device *dev = &priv->udev->dev; + struct rtl8xxxu_txdesc40 *tx_desc40; ++ u32 rate; ++ u16 rate_flags = tx_info->control.rates[0].flags; + u16 seq_number; + + tx_desc40 = (struct rtl8xxxu_txdesc40 *)tx_desc32; + ++ if (rate_flags & IEEE80211_TX_RC_MCS && ++ !ieee80211_is_mgmt(hdr->frame_control)) ++ rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; ++ else ++ rate = tx_rate->hw_value; ++ ++ if (rtl8xxxu_debug & RTL8XXXU_DEBUG_TX) ++ dev_info(dev, "%s: TX rate: %d, pkt size %d\n", ++ __func__, rate, cpu_to_le16(tx_desc40->pkt_size)); ++ + seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)); + + tx_desc40->txdw4 = cpu_to_le32(rate); +@@ -4857,15 +4888,19 @@ rtl8xxxu_fill_txdesc_v2(struct ieee80211 + if (short_preamble) + tx_desc40->txdw5 |= cpu_to_le32(TXDESC40_SHORT_PREAMBLE); + +- if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) { +- /* +- * Use RTS rate 24M - does the mac80211 tell +- * us which to use? +- */ +- tx_desc40->txdw4 |= cpu_to_le32(DESC_RATE_24M << +- TXDESC40_RTS_RATE_SHIFT); ++ tx_desc40->txdw4 |= cpu_to_le32(rts_rate << TXDESC40_RTS_RATE_SHIFT); ++ /* ++ * rts_rate is zero if RTS/CTS or CTS to SELF are not enabled ++ */ ++ if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) { + tx_desc40->txdw3 |= cpu_to_le32(TXDESC40_RTS_CTS_ENABLE); + tx_desc40->txdw3 |= cpu_to_le32(TXDESC40_HW_RTS_ENABLE); ++ } else if (rate_flags & IEEE80211_TX_RC_USE_CTS_PROTECT) { ++ /* ++ * For some reason the vendor driver doesn't set ++ * TXDESC40_HW_RTS_ENABLE for CTS to SELF ++ */ ++ tx_desc40->txdw3 |= cpu_to_le32(TXDESC40_CTS_SELF_ENABLE); + } + } + +@@ -4875,14 +4910,13 @@ static void rtl8xxxu_tx(struct ieee80211 + { + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); +- struct ieee80211_rate *tx_rate = ieee80211_get_tx_rate(hw, tx_info); + struct rtl8xxxu_priv *priv = hw->priv; + struct rtl8xxxu_txdesc32 *tx_desc; + struct rtl8xxxu_tx_urb *tx_urb; + struct ieee80211_sta *sta = NULL; + struct ieee80211_vif *vif = tx_info->control.vif; + struct device *dev = &priv->udev->dev; +- u32 queue, rate; ++ u32 queue, rts_rate; + u16 pktlen = skb->len; + u16 seq_number; + u16 rate_flag = tx_info->control.rates[0].flags; +@@ -4909,10 +4943,6 @@ static void rtl8xxxu_tx(struct ieee80211 + goto error; + } + +- if (rtl8xxxu_debug & RTL8XXXU_DEBUG_TX) +- dev_info(dev, "%s: TX rate: %d (%d), pkt size %d\n", +- __func__, tx_rate->bitrate, tx_rate->hw_value, pktlen); +- + if (ieee80211_is_action(hdr->frame_control)) + rtl8xxxu_dump_action(dev, hdr); + +@@ -4966,12 +4996,6 @@ static void rtl8xxxu_tx(struct ieee80211 + } + } + +- if (rate_flag & IEEE80211_TX_RC_MCS && +- !ieee80211_is_mgmt(hdr->frame_control)) +- rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; +- else +- rate = tx_rate->hw_value; +- + if (rate_flag & IEEE80211_TX_RC_SHORT_GI || + (ieee80211_is_data_qos(hdr->frame_control) && + sta && sta->ht_cap.cap & +@@ -4982,10 +5006,17 @@ static void rtl8xxxu_tx(struct ieee80211 + (sta && vif && vif->bss_conf.use_short_preamble)) + short_preamble = true; + ++ if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) ++ rts_rate = ieee80211_get_rts_cts_rate(hw, tx_info)->hw_value; ++ else if (rate_flag & IEEE80211_TX_RC_USE_CTS_PROTECT) ++ rts_rate = ieee80211_get_rts_cts_rate(hw, tx_info)->hw_value; ++ else ++ rts_rate = 0; ++ + seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)); + +- priv->fops->fill_txdesc(hdr, tx_desc, rate, rate_flag, +- sgi, short_preamble, ampdu_enable); ++ priv->fops->fill_txdesc(hw, hdr, tx_info, tx_desc, sgi, short_preamble, ++ ampdu_enable, rts_rate); + + rtl8xxxu_calc_tx_desc_csum(tx_desc); + +@@ -5969,6 +6000,7 @@ static int rtl8xxxu_probe(struct usb_int + case 0x8176: + case 0x8178: + case 0x817f: ++ case 0x818b: + untested = 0; + break; + } +@@ -6165,6 +6197,12 @@ static struct usb_device_id dev_table[] + .driver_info = (unsigned long)&rtl8723au_fops}, + {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x818b, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192eu_fops}, ++/* TP-Link TL-WN822N v4 */ ++{USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0108, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, ++/* D-Link DWA-131 rev E1, tested by David Patiño */ ++{USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x3319, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, + /* Tested by Myckel Habets */ + {USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0109, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192eu_fops}, +@@ -6316,6 +6354,13 @@ static struct usb_device_id dev_table[] + .driver_info = (unsigned long)&rtl8192cu_fops}, + {USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0x7822, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192cu_fops}, ++/* found in rtl8192eu vendor driver */ ++{USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0107, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, ++{USB_DEVICE_AND_INTERFACE_INFO(0x2019, 0xab33, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, ++{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x818c, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, + #endif + { } + }; +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h 2017-03-07 22:29:07.840867965 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as +@@ -1337,10 +1337,11 @@ struct rtl8xxxu_fileops { + u32 ramask, int sgi); + void (*report_connect) (struct rtl8xxxu_priv *priv, + u8 macid, bool connect); +- void (*fill_txdesc) (struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable); ++ void (*fill_txdesc) (struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc, bool sgi, ++ bool short_preamble, bool ampdu_enable, ++ u32 rts_rate); + int writeN_block_size; + int rx_agg_buf_size; + char tx_desc_size; +@@ -1434,14 +1435,16 @@ int rtl8xxxu_parse_rxdesc24(struct rtl8x + int rtl8xxxu_gen2_channel_to_group(int channel); + bool rtl8xxxu_gen2_simularity_compare(struct rtl8xxxu_priv *priv, + int result[][8], int c1, int c2); +-void rtl8xxxu_fill_txdesc_v1(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable); +-void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc32, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable); ++void rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc, bool sgi, ++ bool short_preamble, bool ampdu_enable, ++ u32 rts_rate); ++void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi, ++ bool short_preamble, bool ampdu_enable, ++ u32 rts_rate); + + extern struct rtl8xxxu_fileops rtl8192cu_fops; + extern struct rtl8xxxu_fileops rtl8192eu_fops; +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h 2017-03-07 22:29:07.842868144 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as diff --git a/kernel/kernel/pspec.xml b/kernel/kernel/pspec.xml index bc84ebb1..9383daea 100644 --- a/kernel/kernel/pspec.xml +++ b/kernel/kernel/pspec.xml @@ -28,7 +28,7 @@ - patches/linux/patch-4.9.80.xz + patches/linux/patch-4.9.86.xz @@ -44,12 +44,12 @@ patches/mageia/ACPI-video-Add-a-quirk-to-force-acpi-video-backlight.patch patches/mageia/acpi-do-not-warn-if-_BQC-does-not-exist.patch patches/mageia/acpi-ACPICA-Events-Fix-acpi_ev_initialize_region-return-v.patch - + patches/mageia/scsi-ppscsi-3.0-buildfix.patch patches/mageia/scsi-megaraid-new-sysfs-name.patch patches/mageia/ide-pci-sis5513-965.patch patches/mageia/mpt-vmware-fix.patch @@ -139,7 +139,7 @@ patches/mageia/usb-storage-unusual_devs-add-id.patch patches/mageia/usb-storage-unusual_devs-add-id-2.6.37-buildfix.patch patches/mageia/media-usb-pwc-lie-in-proc-usb-devices.patch - patches/mageia/3rd-3rdparty-1.0-tree.patch + - + patches/mageia/3rd-aes2501-rmmod-oops-fix.patch patches/mageia/3rd-ndiswrapper-1.60.patch patches/mageia/3rd-ndiswrapper-Kconfig.patch patches/mageia/3rd-ndiswrapper-Makefile-build-fix.patch @@ -165,7 +164,7 @@ patches/mageia/3rd-viahss-2.6.35-buildfix.patch patches/mageia/3rd-viahss-3.0-buildfix.patch patches/mageia/3rd-rtl8723bs.patch - patches/mageia/3rd-rtl8812au.patch + patches/mageia/3rd-rtl8812au.patch patches/mageia/tools-testing-selftest-Makefile-remove-powerpc-reference.patch patches/mageia/tools-build-Make-fixdep-parsing-wait-for-last-target.patch patches/mageia/tools-perf-tools-Force-fixdep-compilation-at-the-start-of-.patch @@ -224,6 +223,17 @@ + + 2018-03-10 + 4.9.86 + Version Bump. + security + + systemRestart + + Ertuğrul Erata + ertugrulerata@gmail.com + 2018-03-02 4.9.80 diff --git a/kernel/tools/cpupowertools/files/patches/linux/patch-4.9.86.xz b/kernel/tools/cpupowertools/files/patches/linux/patch-4.9.86.xz new file mode 100644 index 00000000..40158991 Binary files /dev/null and b/kernel/tools/cpupowertools/files/patches/linux/patch-4.9.86.xz differ diff --git a/kernel/tools/cpupowertools/files/patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch b/kernel/tools/cpupowertools/files/patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch new file mode 100644 index 00000000..6f7092cc --- /dev/null +++ b/kernel/tools/cpupowertools/files/patches/mageia/net-wireless-realtek-rtl8xxxu-linux-4.11-rc.patch @@ -0,0 +1,371 @@ + +From upstream 4.11-rc2+ git + +Fixes mga #20508 + +Signed-off-by: Thomas Backlund + + + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 29 ++-- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c | 2 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 4 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c | 2 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_872tb.c | 2 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 121 +++++++++++------ + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 2 + 7 files changed, 105 insertions(+), 57 deletions(-) + +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c 2017-03-07 22:29:07.840867965 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8188c/8188r/8192c specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8192e specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +@@ -1556,7 +1556,7 @@ exit: + return ret; + } + +-void rtl8192eu_power_off(struct rtl8xxxu_priv *priv) ++static void rtl8192eu_power_off(struct rtl8xxxu_priv *priv) + { + u8 val8; + u16 val16; +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8723a specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver - 8723b specific subdriver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2017-03-18 13:35:47.148080457 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2017-03-07 22:29:07.841868054 +0200 +@@ -1,7 +1,7 @@ + /* + * RTL8XXXU mac80211 USB driver + * +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * Portions, notably calibration code: + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. +@@ -48,7 +48,7 @@ static bool rtl8xxxu_dma_aggregation; + static int rtl8xxxu_dma_agg_timeout = -1; + static int rtl8xxxu_dma_agg_pages = -1; + +-MODULE_AUTHOR("Jes Sorensen "); ++MODULE_AUTHOR("Jes Sorensen "); + MODULE_DESCRIPTION("RTL8XXXu USB mac80211 Wireless LAN Driver"); + MODULE_LICENSE("GPL"); + MODULE_FIRMWARE("rtlwifi/rtl8723aufw_A.bin"); +@@ -4767,13 +4767,28 @@ static void rtl8xxxu_dump_action(struct + * This format is used on 8188cu/8192cu/8723au + */ + void +-rtl8xxxu_fill_txdesc_v1(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable) ++rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc, bool sgi, ++ bool short_preamble, bool ampdu_enable, u32 rts_rate) + { ++ struct ieee80211_rate *tx_rate = ieee80211_get_tx_rate(hw, tx_info); ++ struct rtl8xxxu_priv *priv = hw->priv; ++ struct device *dev = &priv->udev->dev; ++ u32 rate; ++ u16 rate_flags = tx_info->control.rates[0].flags; + u16 seq_number; + ++ if (rate_flags & IEEE80211_TX_RC_MCS && ++ !ieee80211_is_mgmt(hdr->frame_control)) ++ rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; ++ else ++ rate = tx_rate->hw_value; ++ ++ if (rtl8xxxu_debug & RTL8XXXU_DEBUG_TX) ++ dev_info(dev, "%s: TX rate: %d, pkt size %d\n", ++ __func__, rate, cpu_to_le16(tx_desc->pkt_size)); ++ + seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)); + + tx_desc->txdw5 = cpu_to_le32(rate); +@@ -4804,15 +4819,16 @@ rtl8xxxu_fill_txdesc_v1(struct ieee80211 + if (sgi) + tx_desc->txdw5 |= cpu_to_le32(TXDESC32_SHORT_GI); + +- if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) { +- /* +- * Use RTS rate 24M - does the mac80211 tell +- * us which to use? +- */ +- tx_desc->txdw4 |= cpu_to_le32(DESC_RATE_24M << +- TXDESC32_RTS_RATE_SHIFT); ++ /* ++ * rts_rate is zero if RTS/CTS or CTS to SELF are not enabled ++ */ ++ tx_desc->txdw4 |= cpu_to_le32(rts_rate << TXDESC32_RTS_RATE_SHIFT); ++ if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) { + tx_desc->txdw4 |= cpu_to_le32(TXDESC32_RTS_CTS_ENABLE); + tx_desc->txdw4 |= cpu_to_le32(TXDESC32_HW_RTS_ENABLE); ++ } else if (rate_flags & IEEE80211_TX_RC_USE_CTS_PROTECT) { ++ tx_desc->txdw4 |= cpu_to_le32(TXDESC32_CTS_SELF_ENABLE); ++ tx_desc->txdw4 |= cpu_to_le32(TXDESC32_HW_RTS_ENABLE); + } + } + +@@ -4821,16 +4837,31 @@ rtl8xxxu_fill_txdesc_v1(struct ieee80211 + * This format is used on 8192eu/8723bu + */ + void +-rtl8xxxu_fill_txdesc_v2(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc32, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable) ++rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi, ++ bool short_preamble, bool ampdu_enable, u32 rts_rate) + { ++ struct ieee80211_rate *tx_rate = ieee80211_get_tx_rate(hw, tx_info); ++ struct rtl8xxxu_priv *priv = hw->priv; ++ struct device *dev = &priv->udev->dev; + struct rtl8xxxu_txdesc40 *tx_desc40; ++ u32 rate; ++ u16 rate_flags = tx_info->control.rates[0].flags; + u16 seq_number; + + tx_desc40 = (struct rtl8xxxu_txdesc40 *)tx_desc32; + ++ if (rate_flags & IEEE80211_TX_RC_MCS && ++ !ieee80211_is_mgmt(hdr->frame_control)) ++ rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; ++ else ++ rate = tx_rate->hw_value; ++ ++ if (rtl8xxxu_debug & RTL8XXXU_DEBUG_TX) ++ dev_info(dev, "%s: TX rate: %d, pkt size %d\n", ++ __func__, rate, cpu_to_le16(tx_desc40->pkt_size)); ++ + seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)); + + tx_desc40->txdw4 = cpu_to_le32(rate); +@@ -4857,15 +4888,19 @@ rtl8xxxu_fill_txdesc_v2(struct ieee80211 + if (short_preamble) + tx_desc40->txdw5 |= cpu_to_le32(TXDESC40_SHORT_PREAMBLE); + +- if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) { +- /* +- * Use RTS rate 24M - does the mac80211 tell +- * us which to use? +- */ +- tx_desc40->txdw4 |= cpu_to_le32(DESC_RATE_24M << +- TXDESC40_RTS_RATE_SHIFT); ++ tx_desc40->txdw4 |= cpu_to_le32(rts_rate << TXDESC40_RTS_RATE_SHIFT); ++ /* ++ * rts_rate is zero if RTS/CTS or CTS to SELF are not enabled ++ */ ++ if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) { + tx_desc40->txdw3 |= cpu_to_le32(TXDESC40_RTS_CTS_ENABLE); + tx_desc40->txdw3 |= cpu_to_le32(TXDESC40_HW_RTS_ENABLE); ++ } else if (rate_flags & IEEE80211_TX_RC_USE_CTS_PROTECT) { ++ /* ++ * For some reason the vendor driver doesn't set ++ * TXDESC40_HW_RTS_ENABLE for CTS to SELF ++ */ ++ tx_desc40->txdw3 |= cpu_to_le32(TXDESC40_CTS_SELF_ENABLE); + } + } + +@@ -4875,14 +4910,13 @@ static void rtl8xxxu_tx(struct ieee80211 + { + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); +- struct ieee80211_rate *tx_rate = ieee80211_get_tx_rate(hw, tx_info); + struct rtl8xxxu_priv *priv = hw->priv; + struct rtl8xxxu_txdesc32 *tx_desc; + struct rtl8xxxu_tx_urb *tx_urb; + struct ieee80211_sta *sta = NULL; + struct ieee80211_vif *vif = tx_info->control.vif; + struct device *dev = &priv->udev->dev; +- u32 queue, rate; ++ u32 queue, rts_rate; + u16 pktlen = skb->len; + u16 seq_number; + u16 rate_flag = tx_info->control.rates[0].flags; +@@ -4909,10 +4943,6 @@ static void rtl8xxxu_tx(struct ieee80211 + goto error; + } + +- if (rtl8xxxu_debug & RTL8XXXU_DEBUG_TX) +- dev_info(dev, "%s: TX rate: %d (%d), pkt size %d\n", +- __func__, tx_rate->bitrate, tx_rate->hw_value, pktlen); +- + if (ieee80211_is_action(hdr->frame_control)) + rtl8xxxu_dump_action(dev, hdr); + +@@ -4966,12 +4996,6 @@ static void rtl8xxxu_tx(struct ieee80211 + } + } + +- if (rate_flag & IEEE80211_TX_RC_MCS && +- !ieee80211_is_mgmt(hdr->frame_control)) +- rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; +- else +- rate = tx_rate->hw_value; +- + if (rate_flag & IEEE80211_TX_RC_SHORT_GI || + (ieee80211_is_data_qos(hdr->frame_control) && + sta && sta->ht_cap.cap & +@@ -4982,10 +5006,17 @@ static void rtl8xxxu_tx(struct ieee80211 + (sta && vif && vif->bss_conf.use_short_preamble)) + short_preamble = true; + ++ if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) ++ rts_rate = ieee80211_get_rts_cts_rate(hw, tx_info)->hw_value; ++ else if (rate_flag & IEEE80211_TX_RC_USE_CTS_PROTECT) ++ rts_rate = ieee80211_get_rts_cts_rate(hw, tx_info)->hw_value; ++ else ++ rts_rate = 0; ++ + seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)); + +- priv->fops->fill_txdesc(hdr, tx_desc, rate, rate_flag, +- sgi, short_preamble, ampdu_enable); ++ priv->fops->fill_txdesc(hw, hdr, tx_info, tx_desc, sgi, short_preamble, ++ ampdu_enable, rts_rate); + + rtl8xxxu_calc_tx_desc_csum(tx_desc); + +@@ -5969,6 +6000,7 @@ static int rtl8xxxu_probe(struct usb_int + case 0x8176: + case 0x8178: + case 0x817f: ++ case 0x818b: + untested = 0; + break; + } +@@ -6165,6 +6197,12 @@ static struct usb_device_id dev_table[] + .driver_info = (unsigned long)&rtl8723au_fops}, + {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x818b, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192eu_fops}, ++/* TP-Link TL-WN822N v4 */ ++{USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0108, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, ++/* D-Link DWA-131 rev E1, tested by David Patiño */ ++{USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x3319, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, + /* Tested by Myckel Habets */ + {USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0109, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192eu_fops}, +@@ -6316,6 +6354,13 @@ static struct usb_device_id dev_table[] + .driver_info = (unsigned long)&rtl8192cu_fops}, + {USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0x7822, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192cu_fops}, ++/* found in rtl8192eu vendor driver */ ++{USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0107, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, ++{USB_DEVICE_AND_INTERFACE_INFO(0x2019, 0xab33, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, ++{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x818c, 0xff, 0xff, 0xff), ++ .driver_info = (unsigned long)&rtl8192eu_fops}, + #endif + { } + }; +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h 2017-03-07 22:29:07.840867965 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as +@@ -1337,10 +1337,11 @@ struct rtl8xxxu_fileops { + u32 ramask, int sgi); + void (*report_connect) (struct rtl8xxxu_priv *priv, + u8 macid, bool connect); +- void (*fill_txdesc) (struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable); ++ void (*fill_txdesc) (struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc, bool sgi, ++ bool short_preamble, bool ampdu_enable, ++ u32 rts_rate); + int writeN_block_size; + int rx_agg_buf_size; + char tx_desc_size; +@@ -1434,14 +1435,16 @@ int rtl8xxxu_parse_rxdesc24(struct rtl8x + int rtl8xxxu_gen2_channel_to_group(int channel); + bool rtl8xxxu_gen2_simularity_compare(struct rtl8xxxu_priv *priv, + int result[][8], int c1, int c2); +-void rtl8xxxu_fill_txdesc_v1(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable); +-void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hdr *hdr, +- struct rtl8xxxu_txdesc32 *tx_desc32, u32 rate, +- u16 rate_flag, bool sgi, bool short_preamble, +- bool ampdu_enable); ++void rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc, bool sgi, ++ bool short_preamble, bool ampdu_enable, ++ u32 rts_rate); ++void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, ++ struct ieee80211_tx_info *tx_info, ++ struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi, ++ bool short_preamble, bool ampdu_enable, ++ u32 rts_rate); + + extern struct rtl8xxxu_fileops rtl8192cu_fops; + extern struct rtl8xxxu_fileops rtl8192eu_fops; +diff -Nurp linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h +--- linux-4.9.16/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h 2016-12-11 21:17:54.000000000 +0200 ++++ linux-4.11-rc/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h 2017-03-07 22:29:07.842868144 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2014 - 2016 Jes Sorensen ++ * Copyright (c) 2014 - 2017 Jes Sorensen + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as diff --git a/kernel/tools/cpupowertools/pspec.xml b/kernel/tools/cpupowertools/pspec.xml index 07263a09..6e5c65cc 100644 --- a/kernel/tools/cpupowertools/pspec.xml +++ b/kernel/tools/cpupowertools/pspec.xml @@ -16,9 +16,9 @@ pciutils-devel - + - patches/linux/patch-4.9.80.xz + patches/linux/patch-4.9.86.xz @@ -34,12 +34,12 @@ patches/mageia/ACPI-video-Add-a-quirk-to-force-acpi-video-backlight.patch patches/mageia/acpi-do-not-warn-if-_BQC-does-not-exist.patch patches/mageia/acpi-ACPICA-Events-Fix-acpi_ev_initialize_region-return-v.patch - + patches/mageia/scsi-ppscsi-3.0-buildfix.patch patches/mageia/scsi-megaraid-new-sysfs-name.patch patches/mageia/ide-pci-sis5513-965.patch patches/mageia/mpt-vmware-fix.patch @@ -129,7 +129,7 @@ patches/mageia/usb-storage-unusual_devs-add-id.patch patches/mageia/usb-storage-unusual_devs-add-id-2.6.37-buildfix.patch patches/mageia/media-usb-pwc-lie-in-proc-usb-devices.patch - patches/mageia/3rd-3rdparty-1.0-tree.patch + - + patches/mageia/3rd-aes2501-rmmod-oops-fix.patch patches/mageia/3rd-ndiswrapper-1.60.patch patches/mageia/3rd-ndiswrapper-Kconfig.patch patches/mageia/3rd-ndiswrapper-Makefile-build-fix.patch @@ -155,7 +154,7 @@ patches/mageia/3rd-viahss-2.6.35-buildfix.patch patches/mageia/3rd-viahss-3.0-buildfix.patch patches/mageia/3rd-rtl8723bs.patch - patches/mageia/3rd-rtl8812au.patch + patches/mageia/3rd-rtl8812au.patch patches/mageia/tools-testing-selftest-Makefile-remove-powerpc-reference.patch patches/mageia/tools-build-Make-fixdep-parsing-wait-for-last-target.patch patches/mageia/tools-perf-tools-Force-fixdep-compilation-at-the-start-of-.patch @@ -186,6 +185,13 @@ + + 2018-03-11 + 4.9.86 + Release bump + PisiLinux Community + admin@pisilinux.org + 2018-03-03 4.9.80