Merge pull request #445 from ertugerata/master

kernel-4.7, modules, cpupowertools
This commit is contained in:
Ertuğrul Erata
2016-07-27 19:25:13 +03:00
committed by GitHub
38 changed files with 1380 additions and 1047 deletions
+9 -2
View File
@@ -11,7 +11,7 @@
<Summary>Kernel module allowing to switch dedicated graphics card on Optimus laptops</Summary>
<Description>kernel module allowing to switch dedicated graphics card on Optimus laptops</Description>
<BuildDependencies>
<Dependency version="4.6.3">kernel-module-headers</Dependency>
<Dependency version="4.7.0">kernel-module-headers</Dependency>
</BuildDependencies>
<Archive sha1sum="e282ee682d794e3962baa4dead01917c42571e78" type="targz">https://github.com/Bumblebee-Project/bbswitch/archive/v0.8.tar.gz</Archive>
<Patches>
@@ -20,7 +20,7 @@
<Package>
<Name>module-bbswitch</Name>
<RuntimeDependencies>
<Dependency version="4.6.3">kernel</Dependency>
<Dependency version="4.7.0">kernel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library" permanent="true">/lib/modules</Path>
@@ -34,6 +34,13 @@
</Package>
<History>
<Update release="4">
<Date>2016-07-25</Date>
<Version>0.8</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2016-06-28</Date>
<Version>0.8</Version>
@@ -1,29 +0,0 @@
From b14ac6e4b871b5e15f63389ba63d1fc23a54c58b Mon Sep 17 00:00:00 2001
From: Tim Gardner <tim.gardner@canonical.com>
Date: Tue, 4 Aug 2015 09:02:10 -0600
Subject: [PATCH] cfg80211_disconnected
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
bcmwl-6.30.223.248+bdcom/src/src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index ea0726f..0131f01 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -2047,7 +2047,11 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
}
else if ((event == WLC_E_LINK && ~(flags & WLC_EVENT_MSG_LINK)) ||
event == WLC_E_DEAUTH_IND || event == WLC_E_DISASSOC_IND) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
+#else
+ cfg80211_disconnected(ndev, 0, NULL, 0, false, GFP_KERNEL);
+#endif
clear_bit(WL_STATUS_CONNECTED, &wl->status);
wl_link_down(wl);
wl_init_prof(wl->profile);
--
2.5.0
@@ -1,27 +0,0 @@
Description: Fixing null pointer crash
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773713
Bug-Ubuntu: https://launchpad.net/bugs/1415880
Last-Update: 2015-08-18
---
src/wl/sys/wl_linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 860b935..295156f 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -2157,8 +2157,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
wlif = WL_DEV_IF(dev);
wl = WL_INFO(dev);
+ skb->prev = NULL;
if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
- skb->prev = NULL;
TXQ_LOCK(wl);
--
1.9.1
@@ -1,12 +0,0 @@
diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c 2015-01-06 12:33:42.981659618 +0100
+++ b/src/wl/sys/wl_linux.c 2015-01-06 12:34:05.647395418 +0100
@@ -2157,8 +2157,8 @@
wlif = WL_DEV_IF(dev);
wl = WL_INFO(dev);
+ skb->prev = NULL;
if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
- skb->prev = NULL;
TXQ_LOCK(wl);
@@ -1,11 +0,0 @@
--- a/Makefile 2014-06-26 10:42:08.000000000 +0000
+++ b/Makefile 2014-07-17 22:44:01.662297228 +0000
@@ -126,6 +126,8 @@
EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include
#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR
+EXTRA_CFLAGS += -Wno-date-time
+
EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
KBASE ?= /lib/modules/`uname -r`
@@ -1,26 +0,0 @@
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-03-16 14:39:29.899350026 +0100
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2015-03-16 14:39:06.732682365 +0100
@@ -1452,7 +1452,11 @@
WL_DBG(("Could not get rate (%d)\n", err));
} else {
rate = dtoh32(rate);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
+ sinfo->filled |= BIT(NL80211_STA_INFO_TX_BITRATE);
+ #else
sinfo->filled |= STATION_INFO_TX_BITRATE;
+ #endif
sinfo->txrate.legacy = rate * 5;
WL_DBG(("Rate %d Mbps\n", (rate / 2)));
}
@@ -1465,7 +1469,11 @@
return err;
}
rssi = dtoh32(scb_val.val);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
+ sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
+ #else
sinfo->filled |= STATION_INFO_SIGNAL;
+ #endif
sinfo->signal = rssi;
WL_DBG(("RSSI %d dBm\n", rssi));
}
@@ -1,60 +0,0 @@
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-06-26 12:42:08.000000000 +0200
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2014-10-08 18:47:07.549476082 +0200
@@ -2071,7 +2071,22 @@
wl_get_assoc_ies(wl);
memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
wl_update_bss_info(wl);
- cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
+ {
+ struct wl_bss_info *bi;
+ u16 bss_info_channel;
+ struct ieee80211_channel *channel;
+ u32 freq;
+
+ bi = (struct wl_bss_info *)(wl->extra_buf + 4);
+ bss_info_channel = bi->ctl_ch ? bi->ctl_ch : CHSPEC_CHANNEL(bi->chanspec);
+
+ freq = ieee80211_channel_to_frequency(bss_info_channel,
+ (bss_info_channel <= CH_MAX_2G_CHANNEL) ?
+ IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
+
+ channel = ieee80211_get_channel(wl_to_wiphy(wl), freq);
+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
+ }
set_bit(WL_STATUS_CONNECTED, &wl->status);
wl->profile->active = true;
}
--- a/src/wl/sys/wl_linux.c 2014-06-26 12:42:08.000000000 +0200
+++ b/src/wl/sys/wl_linux.c 2014-10-08 18:47:19.526693719 +0200
@@ -878,7 +878,7 @@
static SIMPLE_DEV_PM_OPS(wl_pm_ops, wl_suspend, wl_resume);
#endif
-static struct pci_driver wl_pci_driver = {
+static struct pci_driver wl_pci_driver __refdata = {
.name = "wl",
.probe = wl_pci_probe,
.remove = __devexit_p(wl_remove),
@@ -1307,7 +1307,12 @@
dev->priv = priv_link;
#else
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0))
dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
+#else
+ dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN,
+ ether_setup);
+#endif
if (!dev) {
WL_ERROR(("wl%d: %s: alloc_netdev failed\n",
(wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__));
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-10 03:43:11.145810000 +0000
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-10 03:44:37.700680960 +0000
@@ -2010,7 +2010,7 @@
notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
notify_ielen = le32_to_cpu(bi->ie_length);
- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
+ cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet),
0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
@@ -0,0 +1,109 @@
Since Linux 4.7, the enum ieee80211_band is no longer used
This shall cause no problem's since both enums ieee80211_band
and nl80211_band were added in the same commit:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
Reference:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
@@ -236,7 +236,7 @@
#endif
#define CHAN2G(_channel, _freq, _flags) { \
- .band = IEEE80211_BAND_2GHZ, \
+ .band = NL80211_BAND_2GHZ, \
.center_freq = (_freq), \
.hw_value = (_channel), \
.flags = (_flags), \
@@ -245,7 +245,7 @@
}
#define CHAN5G(_channel, _flags) { \
- .band = IEEE80211_BAND_5GHZ, \
+ .band = NL80211_BAND_5GHZ, \
.center_freq = 5000 + (5 * (_channel)), \
.hw_value = (_channel), \
.flags = (_flags), \
@@ -379,7 +379,7 @@
};
static struct ieee80211_supported_band __wl_band_2ghz = {
- .band = IEEE80211_BAND_2GHZ,
+ .band = NL80211_BAND_2GHZ,
.channels = __wl_2ghz_channels,
.n_channels = ARRAY_SIZE(__wl_2ghz_channels),
.bitrates = wl_g_rates,
@@ -387,7 +387,7 @@
};
static struct ieee80211_supported_band __wl_band_5ghz_a = {
- .band = IEEE80211_BAND_5GHZ,
+ .band = NL80211_BAND_5GHZ,
.channels = __wl_5ghz_a_channels,
.n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
.bitrates = wl_a_rates,
@@ -395,7 +395,7 @@
};
static struct ieee80211_supported_band __wl_band_5ghz_n = {
- .band = IEEE80211_BAND_5GHZ,
+ .band = NL80211_BAND_5GHZ,
.channels = __wl_5ghz_n_channels,
.n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
.bitrates = wl_a_rates,
@@ -1876,8 +1876,8 @@
wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
#endif
wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
wdev->wiphy->cipher_suites = __wl_cipher_suites;
wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
@@ -2000,7 +2000,7 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
+ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
#else
freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
#endif
@@ -2116,7 +2116,7 @@
return err;
}
chan = wf_chspec_ctlchan(chanspec);
- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
freq = ieee80211_channel_to_frequency(chan, band);
channel = ieee80211_get_channel(wiphy, freq);
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
@@ -2250,10 +2250,10 @@
join_params->params.chanspec_list[0] =
ieee80211_frequency_to_channel(chan->center_freq);
- if (chan->band == IEEE80211_BAND_2GHZ) {
+ if (chan->band == NL80211_BAND_2GHZ) {
chanspec |= WL_CHANSPEC_BAND_2G;
}
- else if (chan->band == IEEE80211_BAND_5GHZ) {
+ else if (chan->band == NL80211_BAND_5GHZ) {
chanspec |= WL_CHANSPEC_BAND_5G;
}
else {
@@ -2885,7 +2885,7 @@
if (phy == 'n' || phy == 'a' || phy == 'v') {
wiphy = wl_to_wiphy(wl);
- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
+ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
}
return err;
@@ -1,11 +0,0 @@
diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c 2013-08-01 09:52:22.000000000 +0300
+++ b/src/wl/sys/wl_linux.c 2013-09-27 09:20:11.495023471 +0300
@@ -235,7 +235,7 @@
#define to_str(s) #s
#define quote_str(s) to_str(s)
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
+6 -15
View File
@@ -5,8 +5,8 @@
<Name>module-broadcom-wl</Name>
<Homepage>http://www.broadcom.com/support/802.11/linux_sta.php</Homepage>
<Packager>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
<Name>PisiLinux Community</Name>
<Email>admin@pisilinux.org</Email>
</Packager>
<License>freedist</License>
<IsA>driver</IsA>
@@ -15,30 +15,21 @@
<Archive sha1sum="8acbdbb4ab4ab4123d1773b616904798fbef9277" type="targz" target="i686">http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz</Archive>
<Archive sha1sum="1f568bb989d175813c5631c6629d9479eae6f3be" type="targz" target="x86_64">http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz</Archive>
<BuildDependencies>
<Dependency version="4.6.3">kernel-module-headers</Dependency>
<Dependency version="4.7.0">kernel-module-headers</Dependency>
</BuildDependencies>
<Patches>
<!-- <Patch level="1">patch/linux-40.patch</Patch> -->
<!-- <Patch level="1">patch/linux-recent.patch</Patch> -->
<Patch level="1">patch/license.patch</Patch>
<Patch level="1">patch/wl_linux.c.patch</Patch>
<Patch level="1">patch/gcc.patch</Patch>
<Patch level="1">patch/wlan.patch</Patch>
<!-- <Patch level="1">patch/broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch</Patch> -->
<!-- <Patch>patch/0018-cfg80211_disconnected.patch</Patch> -->
<!--Patch>patch/0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch</Patch-->
<Patch level="1">patch/linux47.patch</Patch>
</Patches>
</Source>
<Package>
<Name>module-broadcom-wl</Name>
<RuntimeDependencies>
<Dependency version="4.6.3">kernel</Dependency>
<Dependency version="4.7.0">kernel</Dependency>
<Dependency release="current">module-broadcom-wl-userspace</Dependency>
</RuntimeDependencies>
<Replaces>
<Package>broadcom-wl</Package>
</Replaces>
<Files>
<Path fileType="library" permanent="true">/lib/modules</Path>
</Files>
@@ -66,7 +57,7 @@
<History>
<Update release="3">
<Date>2016-06-28</Date>
<Date>2016-07-27</Date>
<Version>6.30.223.271</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>PisiLinux Community</Name>
@@ -14,14 +14,14 @@
<Description>This package provides the kernel modules needed for mouse integration and shared folder support between VirtualBox host and guest systems.</Description>
<Archive sha1sum="00f740f771ecc5830b82b1fda1105114bb1173cb" type="tarxz">https://sourceforge.net/projects/pisi-source/files/module-virtualbox-guest-5.1.2.tar.xz</Archive>
<BuildDependencies>
<Dependency version="4.6.3">kernel-module-headers</Dependency>
<Dependency version="4.7.0">kernel-module-headers</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>module-virtualbox-guest</Name>
<RuntimeDependencies>
<Dependency version="4.6.3">kernel</Dependency>
<Dependency version="4.7.0">kernel</Dependency>
<Dependency>baselayout</Dependency>
<Dependency version="current">module-virtualbox-guest-userspace</Dependency>
</RuntimeDependencies>
@@ -52,6 +52,13 @@
</Package>
<History>
<Update release="6">
<Date>2016-07-25</Date>
<Version>5.1.2</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="5">
<Date>2016-07-22</Date>
<Version>5.1.2</Version>
+9 -2
View File
@@ -14,7 +14,7 @@
<Description>This package provides the kernel support for VirtualBox.</Description>
<Archive sha1sum="a11ebd805e27348ea2ebb4c547e710d078dbdb43" type="tarxz">https://sourceforge.net/projects/pisi-source/files/module-virtualbox-5.1.2.tar.xz</Archive>
<BuildDependencies>
<Dependency version="4.6.3">kernel-module-headers</Dependency>
<Dependency version="4.7.0">kernel-module-headers</Dependency>
</BuildDependencies>
<!--Patches>
<Patch>vbox_linux-4.3.diff</Patch>
@@ -24,7 +24,7 @@
<Package>
<Name>module-virtualbox</Name>
<RuntimeDependencies>
<Dependency version="4.6.3">kernel</Dependency>
<Dependency version="4.7.0">kernel</Dependency>
<Dependency version="current">module-virtualbox-userspace</Dependency>
</RuntimeDependencies>
<Files>
@@ -50,6 +50,13 @@
</Package>
<History>
<Update release="6">
<Date>2016-07-25</Date>
<Version>5.1.2</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="5">
<Date>2016-07-22</Date>
<Version>5.1.2</Version>
-3
View File
@@ -13,9 +13,6 @@ from pisi.actionsapi import get
KDIR = kerneltools.getKernelVersion()
def build():
shelltools.system("patch -p1 < ndiswrapper-1.59.patch")
shelltools.system("patch -p1 < kernel-4.2.patch")
autotools.make("-C driver KVERS_UNAME=%s" % KDIR)
autotools.make("-C utils")
@@ -1,33 +0,0 @@
diff -Npur "ndiswrapper-1 .59.orig/driver/loader.c" "ndiswrapper-1 .59/driver/loader.c"
--- "ndiswrapper-1 .59.orig/driver/loader.c" 2013-11-28 20:42:35.000000000 +0100
+++ "ndiswrapper-1 .59/driver/loader.c" 2015-08-01 18:25:08.302141265 +0200
@@ -22,6 +22,7 @@
#include <linux/kmod.h>
#include <linux/miscdevice.h>
#include <asm/uaccess.h>
+#include <linux/vmalloc.h>
/*
Network adapter: ClassGuid = {4d36e972-e325-11ce-bfc1-08002be10318}
diff -Npur "ndiswrapper-1 .59.orig/driver/ntoskernel.c" "ndiswrapper-1 .59/driver/ntoskernel.c"
--- "ndiswrapper-1 .59.orig/driver/ntoskernel.c" 2013-11-28 20:42:36.000000000 +0100
+++ "ndiswrapper-1 .59/driver/ntoskernel.c" 2015-08-01 18:24:55.895942032 +0200
@@ -19,6 +19,7 @@
#include "pnp.h"
#include "loader.h"
#include "ntoskernel_exports.h"
+#include <linux/vmalloc.h>
/* MDLs describe a range of virtual address with an array of physical
* pages right after the header. For different ranges of virtual
diff -Npur "ndiswrapper-1 .59.orig/driver/pe_linker.c" "ndiswrapper-1 .59/driver/pe_linker.c"
--- "ndiswrapper-1 .59.orig/driver/pe_linker.c" 2013-11-28 20:42:36.000000000 +0100
+++ "ndiswrapper-1 .59/driver/pe_linker.c" 2015-08-01 18:28:37.992752176 +0200
@@ -25,6 +25,7 @@
//#define DEBUGLINKER 2
#include "ntoskernel.h"
+#include <linux/vmalloc.h>
#endif
@@ -1,41 +0,0 @@
From: Julian Andres Klode <jak@debian.org>
Date: Tue, 12 May 2015 17:11:11 +0200
Subject: Support kernel 4.0
---
driver/ndis.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/driver/ndis.c b/driver/ndis.c
index 9ace34b..fafd2e7 100644
--- a/driver/ndis.c
+++ b/driver/ndis.c
@@ -25,6 +25,10 @@
#define MAX_ALLOCATED_NDIS_PACKETS TX_RING_SIZE
#define MAX_ALLOCATED_NDIS_BUFFERS TX_RING_SIZE
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
+#define strncasecmp strnicmp
+#endif
+
static struct work_struct ndis_work;
static struct nt_list ndis_work_list;
static spinlock_t ndis_work_list_lock;
@@ -438,7 +442,7 @@ static int read_setting(struct nt_list *setting_list, char *keyname, int length,
struct wrap_device_setting *setting;
mutex_lock(&loader_mutex);
nt_list_for_each_entry(setting, setting_list, list) {
- if (strnicmp(keyname, setting->name, length) == 0) {
+ if (strncasecmp(keyname, setting->name, length) == 0) {
TRACE2("setting %s='%s'", keyname, setting->value);
mutex_unlock(&loader_mutex);
*param = ndis_encode_setting(setting, type);
@@ -502,7 +506,7 @@ wstdcall void WIN_FUNC(NdisWriteConfiguration,4)
mutex_lock(&loader_mutex);
nt_list_for_each_entry(setting, &nmb->wnd->wd->settings, list) {
- if (strnicmp(keyname, setting->name, ansi.length) == 0) {
+ if (strncasecmp(keyname, setting->name, ansi.length) == 0) {
mutex_unlock(&loader_mutex);
if (ndis_decode_setting(setting, param))
*status = NDIS_STATUS_FAILURE;
@@ -0,0 +1,100 @@
diff -Nuar ndiswrapper-1.60.orig/ChangeLog ndiswrapper-1.60/ChangeLog
--- ndiswrapper-1.60.orig/ChangeLog 2016-07-27 19:05:10.594950240 +0300
+++ ndiswrapper-1.60/ChangeLog 2016-07-27 19:06:04.678949272 +0300
@@ -1,7 +1,3 @@
-Version 1.60 2016-05-01
-=======================
-* Support for Linux kernel up to 4.5
-
Version 1.59 2013-11-28
=======================
* Support for Linux kernels from 2.6.13 to 3.12
diff -Nuar ndiswrapper-1.60.orig/driver/.gitignore ndiswrapper-1.60/driver/.gitignore
--- ndiswrapper-1.60.orig/driver/.gitignore 1970-01-01 02:00:00.000000000 +0200
+++ ndiswrapper-1.60/driver/.gitignore 2016-07-27 19:06:04.678949272 +0300
@@ -0,0 +1,11 @@
+*.ko
+*.mod.c
+*.o
+.*.cmd
+*_exports.h
+/.tmp_versions/
+/Module.markers
+/Module.symvers
+/modules.order
+/ndis_exports.h
+/win2lin_stubs.h
diff -Nuar ndiswrapper-1.60.orig/driver/loader.h ndiswrapper-1.60/driver/loader.h
--- ndiswrapper-1.60.orig/driver/loader.h 2016-07-27 19:05:10.593950240 +0300
+++ ndiswrapper-1.60/driver/loader.h 2016-07-27 19:06:09.795949180 +0300
@@ -16,10 +16,6 @@
#ifndef _LOADER_H_
#define _LOADER_H_
-#if LINUX_VERSION_CODE > KERNEL_VERSION(4,0,0)
-#include <linux/vmalloc.h>
-#endif
-
#include "ndiswrapper.h"
#ifndef __KERNEL__
diff -Nuar ndiswrapper-1.60.orig/driver/ntoskernel.h ndiswrapper-1.60/driver/ntoskernel.h
--- ndiswrapper-1.60.orig/driver/ntoskernel.h 2016-07-27 19:05:10.593950240 +0300
+++ ndiswrapper-1.60/driver/ntoskernel.h 2016-07-27 19:06:13.834949108 +0300
@@ -46,6 +46,8 @@
#include <linux/percpu.h>
#include <linux/kthread.h>
#include <linux/workqueue.h>
+#include <linux/vmalloc.h>
+
#if !defined(CONFIG_X86) && !defined(CONFIG_X86_64)
#error "this module is for x86 or x86_64 architectures only"
@@ -358,8 +360,18 @@
#define prandom_seed(seed) net_srandom(seed)
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
-#define strncasecmp strnicmp
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
+static int strncasecmp(const char *s1, const char *s2, size_t n)
+{
+ strnicmp(s1, s2, n);
+}
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)
+static inline void netif_trans_update(struct net_device *dev)
+{
+ dev->trans_start = jiffies;
+}
#endif
/* TICK is 100ns */
diff -Nuar ndiswrapper-1.60.orig/driver/wrapndis.c ndiswrapper-1.60/driver/wrapndis.c
--- ndiswrapper-1.60.orig/driver/wrapndis.c 2016-07-27 19:05:10.593950240 +0300
+++ ndiswrapper-1.60/driver/wrapndis.c 2016-07-27 19:06:23.295948938 +0300
@@ -704,7 +704,7 @@
n = wnd->max_tx_packets;
n = mp_tx_packets(wnd, wnd->tx_ring_start, n);
if (n) {
- wnd->net_dev->trans_start = jiffies;
+ netif_trans_update(wnd->net_dev);
wnd->tx_ring_start =
(wnd->tx_ring_start + n) % TX_RING_SIZE;
wnd->is_tx_ring_full = 0;
diff -Nuar ndiswrapper-1.60.orig/ndiswrapper.spec ndiswrapper-1.60/ndiswrapper.spec
--- ndiswrapper-1.60.orig/ndiswrapper.spec 2016-07-27 19:05:10.594950240 +0300
+++ ndiswrapper-1.60/ndiswrapper.spec 2016-07-27 19:06:28.472948846 +0300
@@ -1,5 +1,5 @@
# Define ndiswrapper_version only if it is not already defined.
-%{!?ndiswrapper_version: %define ndiswrapper_version 1.60}
+%{!?ndiswrapper_version: %define ndiswrapper_version svn}
%{!?ndiswrapper_release: %define ndiswrapper_release 1}
# Define kernel version if not already defined
diff -Nuar ndiswrapper-1.60.orig/utils/.gitignore ndiswrapper-1.60/utils/.gitignore
--- ndiswrapper-1.60.orig/utils/.gitignore 1970-01-01 02:00:00.000000000 +0200
+++ ndiswrapper-1.60/utils/.gitignore 2016-07-27 19:06:29.224948832 +0300
@@ -0,0 +1 @@
+/loadndisdriver
+11 -8
View File
@@ -13,23 +13,19 @@
<IsA>driver</IsA>
<Summary>A network driver wrapper</Summary>
<Description>module-ndiswrapper allows you to use Windows XP drivers for WLAN cards without proper Linux drivers.</Description>
<Archive sha1sum="75fbbda677fe91ee07a6f6a8e19b1f3e2479540f" type="targz">http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.59.tar.gz</Archive>
<Archive sha1sum="20998237cf6d37b86391dc8736c10031110db578" type="targz">http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.60.tar.gz</Archive>
<BuildDependencies>
<Dependency version="4.6.3">kernel-module-headers</Dependency>
<Dependency version="4.7.0">kernel-module-headers</Dependency>
</BuildDependencies>
<Patches>
<Patch>support_kernel-4.0.patch</Patch>
<Patch>upstream.patch</Patch>
</Patches>
<AdditionalFiles>
<AdditionalFile target="ndiswrapper-1.59.patch">ndiswrapper-1.59.patch</AdditionalFile>
<AdditionalFile target="kernel-4.2.patch">kernel-4.2.patch</AdditionalFile>
</AdditionalFiles>
</Source>
<Package>
<Name>ndiswrapper</Name>
<RuntimeDependencies>
<Dependency version="4.6.3">kernel</Dependency>
<Dependency version="4.7.0">kernel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library" permanent="true">/lib/modules</Path>
@@ -45,6 +41,13 @@
</Package>
<History>
<Update release="3">
<Date>2016-07-27</Date>
<Version>1.60</Version>
<Comment>Release Bump, rebuild for new kernel.</Comment>
<Name>PisiLinux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2016-06-28</Date>
<Version>1.59</Version>
@@ -1,12 +1,11 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 4.6.3 Kernel Configuration
# Linux/x86_64 4.7.0 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
@@ -146,6 +145,7 @@ CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_NMI_LOG_BUF_SHIFT=13
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
@@ -190,6 +190,7 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
@@ -207,6 +208,7 @@ CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
@@ -234,6 +236,7 @@ CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
@@ -258,6 +261,7 @@ CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_NMI=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -294,13 +298,17 @@ CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_HAVE_STACK_VALIDATION=y
# CONFIG_HAVE_ARCH_HASH is not set
# CONFIG_ISA_BUS_API is not set
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
#
# GCOV-based kernel profiling
@@ -455,6 +463,14 @@ CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
@@ -464,7 +480,6 @@ CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
@@ -499,6 +514,7 @@ CONFIG_MEMORY_ISOLATION=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
@@ -508,7 +524,6 @@ CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
@@ -525,6 +540,7 @@ CONFIG_FRONTSWAP=y
# CONFIG_ZSWAP is not set
CONFIG_ZPOOL=y
# CONFIG_ZBUD is not set
# CONFIG_Z3FOLD is not set
# CONFIG_ZSMALLOC is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
@@ -564,7 +580,6 @@ CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x200000
CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x40000000
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
@@ -628,7 +643,7 @@ CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
@@ -657,6 +672,7 @@ CONFIG_SFI=y
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
@@ -665,11 +681,13 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
#
# CPU frequency scaling drivers
@@ -722,6 +740,7 @@ CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
CONFIG_PCI_BUS_ADDR_T_64BIT=y
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
@@ -772,6 +791,7 @@ CONFIG_PCCARD_NONSTATIC=y
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not set
@@ -883,6 +903,8 @@ CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_FOU is not set
# CONFIG_IPV6_FOU_TUNNEL is not set
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
@@ -1234,6 +1256,7 @@ CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=m
CONFIG_RDS=m
CONFIG_RDS_RDMA=m
CONFIG_RDS_TCP=m
@@ -1592,7 +1615,6 @@ CONFIG_NFC_SHDLC=y
#
# Near Field Communication (NFC) devices
#
CONFIG_NFC_PN533=m
CONFIG_NFC_WILINK=m
CONFIG_NFC_MEI_PHY=m
# CONFIG_NFC_SIM is not set
@@ -1602,6 +1624,8 @@ CONFIG_NFC_FDP_I2C=m
CONFIG_NFC_PN544=m
CONFIG_NFC_PN544_I2C=m
CONFIG_NFC_PN544_MEI=m
# CONFIG_NFC_PN533_USB is not set
# CONFIG_NFC_PN533_I2C is not set
CONFIG_NFC_MICROREAD=m
CONFIG_NFC_MICROREAD_I2C=m
CONFIG_NFC_MICROREAD_MEI=m
@@ -1618,7 +1642,7 @@ CONFIG_LWTUNNEL=y
CONFIG_DST_CACHE=y
# CONFIG_NET_DEVLINK is not set
CONFIG_MAY_USE_DEVLINK=y
CONFIG_HAVE_BPF_JIT=y
CONFIG_HAVE_EBPF_JIT=y
#
# Device Drivers
@@ -2003,6 +2027,7 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_TCM_QLA2XXX=m
# CONFIG_TCM_QLA2XXX_DEBUG is not set
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
@@ -2054,6 +2079,7 @@ CONFIG_ATA_BMDMA=y
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
@@ -2169,6 +2195,7 @@ CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
# CONFIG_ISCSI_TARGET_CXGB4 is not set
CONFIG_SBP_TARGET=m
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
@@ -2208,6 +2235,7 @@ CONFIG_MACVTAP=m
# CONFIG_IPVLAN is not set
CONFIG_VXLAN=m
CONFIG_GENEVE=m
# CONFIG_GTP is not set
# CONFIG_MACSEC is not set
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
@@ -2253,8 +2281,6 @@ CONFIG_VHOST=m
#
# Distributed Switch Architecture drivers
#
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
@@ -2424,7 +2450,10 @@ CONFIG_QLCNIC_HWMON=y
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
CONFIG_QEDE=m
# CONFIG_QEDE_VXLAN is not set
# CONFIG_QEDE_GENEVE is not set
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_ATP=m
@@ -2705,7 +2734,6 @@ CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
# CONFIG_IWLWIFI_UAPSD is not set
# CONFIG_IWLWIFI_PCIE_RTPM is not set
#
@@ -2713,7 +2741,6 @@ CONFIG_IWLWIFI_OPMODE_MODULAR=y
#
CONFIG_IWLWIFI_DEBUG=y
CONFIG_IWLWIFI_DEBUGFS=y
# CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE is not set
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
@@ -2737,7 +2764,7 @@ CONFIG_MWIFIEX_PCIE=m
CONFIG_MWIFIEX_USB=m
CONFIG_MWL8K=m
CONFIG_WLAN_VENDOR_MEDIATEK=y
# CONFIG_MT7601U is not set
CONFIG_MT7601U=m
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3210,7 +3237,6 @@ CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_ROCKETPORT=m
@@ -3236,6 +3262,7 @@ CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
@@ -3250,8 +3277,7 @@ CONFIG_SERIAL_8250_RSA=y
# CONFIG_SERIAL_8250_FSL is not set
CONFIG_SERIAL_8250_DW=m
# CONFIG_SERIAL_8250_RT288X is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_MID=m
CONFIG_SERIAL_8250_MID=y
# CONFIG_SERIAL_8250_MOXA is not set
#
@@ -3274,7 +3300,6 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_RP2=m
CONFIG_SERIAL_RP2_NR_UARTS=32
CONFIG_SERIAL_FSL_LPUART=m
# CONFIG_SERIAL_MVEBU_UART is not set
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
@@ -3484,14 +3509,10 @@ CONFIG_GPIO_VX855=m
#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_104_DIO_48E is not set
CONFIG_GPIO_104_IDIO_16=m
# CONFIG_GPIO_104_IDI_48 is not set
CONFIG_GPIO_F7188X=m
CONFIG_GPIO_IT87=m
CONFIG_GPIO_SCH=m
CONFIG_GPIO_SCH311X=m
# CONFIG_GPIO_WS16C48 is not set
#
# I2C GPIO expanders
@@ -3755,6 +3776,10 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
CONFIG_INTEL_PCH_THERMAL=m
CONFIG_WATCHDOG=y
@@ -3776,7 +3801,6 @@ CONFIG_RETU_WATCHDOG=m
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_EBC_C384_WDT is not set
CONFIG_F71808E_WDT=m
CONFIG_SP5100_TCO=m
CONFIG_SBC_FITPC2_WATCHDOG=m
@@ -3878,6 +3902,7 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX8907 is not set
CONFIG_MFD_MT6397=m
# CONFIG_MFD_MENF21BMC is not set
@@ -4149,6 +4174,7 @@ CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_SOLO6X10=m
# CONFIG_VIDEO_TW68 is not set
# CONFIG_VIDEO_TW686X is not set
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -4390,6 +4416,7 @@ CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
CONFIG_MEDIA_TUNER_R820T=m
CONFIG_MEDIA_TUNER_QM1D1C0042=m
#
# Multistandard (satellite) frontends
@@ -4501,6 +4528,7 @@ CONFIG_DVB_MB86A20S=m
#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
CONFIG_DVB_TC90522=m
#
# Digital terrestrial only tuners/PLL
@@ -4568,7 +4596,6 @@ CONFIG_DRM_RADEON_USERPTR=y
#
# ACP (Audio CoProcessor) Configuration
#
# CONFIG_DRM_AMD_ACP is not set
CONFIG_DRM_NOUVEAU=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
@@ -4577,7 +4604,6 @@ CONFIG_DRM_I810=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=y
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_MACH64=m
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
@@ -4605,6 +4631,7 @@ CONFIG_DRM_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_HSA_AMD is not set
#
@@ -4918,6 +4945,7 @@ CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=m
# CONFIG_HID_ASUS is not set
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=m
@@ -5226,6 +5254,7 @@ CONFIG_USB_EZUSB_FX2=m
CONFIG_USB_HSIC_USB3503=m
# CONFIG_USB_LINK_LAYER_TEST is not set
CONFIG_USB_CHAOSKEY=m
# CONFIG_UCSI is not set
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -5336,6 +5365,7 @@ CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=y
# CONFIG_LEDS_TRIGGER_MTD is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CPU=y
@@ -5347,6 +5377,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
# CONFIG_LEDS_TRIGGER_PANIC is not set
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_INFINIBAND=m
@@ -5378,6 +5409,10 @@ CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
CONFIG_INFINIBAND_RDMAVT=m
CONFIG_INFINIBAND_HFI1=m
CONFIG_HFI1_DEBUG_SDMA_ORDER=y
CONFIG_HFI1_VERBS_31BIT_PSN=y
CONFIG_SDMA_VERBOSITY=y
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
@@ -5445,8 +5480,6 @@ CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_RV3029C2=m
CONFIG_RTC_DRV_RV3029_HWMON=y
CONFIG_RTC_DRV_RV8803=m
#
@@ -5459,6 +5492,8 @@ CONFIG_RTC_I2C_AND_SPI=m
#
CONFIG_RTC_DRV_DS3232=m
# CONFIG_RTC_DRV_PCF2127 is not set
CONFIG_RTC_DRV_RV3029C2=m
CONFIG_RTC_DRV_RV3029_HWMON=y
#
# Platform RTC drivers
@@ -5502,7 +5537,7 @@ CONFIG_DMADEVICES=y
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_INTEL_IDMA64=m
CONFIG_INTEL_IOATDMA=m
@@ -5511,7 +5546,7 @@ CONFIG_INTEL_MIC_X100_DMA=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
CONFIG_HSU_DMA=m
CONFIG_HSU_DMA=y
#
# DMA Clients
@@ -5519,6 +5554,11 @@ CONFIG_HSU_DMA=m
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y
#
# DMABUF options
#
# CONFIG_SYNC_FILE is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
@@ -5620,6 +5660,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_I2C_BCM2048=m
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_VIDEO_TW686X_KH is not set
CONFIG_LIRC_STAGING=y
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
@@ -5629,21 +5670,13 @@ CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_SIR=m
CONFIG_LIRC_ZILOG=m
CONFIG_STAGING_RDMA=m
CONFIG_INFINIBAND_HFI1=m
CONFIG_HFI1_DEBUG_SDMA_ORDER=y
CONFIG_HFI1_VERBS_31BIT_PSN=y
CONFIG_SDMA_VERBOSITY=y
#
# Android
#
# CONFIG_ASHMEM is not set
CONFIG_ANDROID_TIMED_OUTPUT=y
CONFIG_ANDROID_TIMED_GPIO=m
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
CONFIG_SYNC=y
CONFIG_SW_SYNC=y
# CONFIG_ION is not set
CONFIG_LTE_GDM724X=m
CONFIG_FIREWIRE_SERIAL=m
@@ -5715,6 +5748,7 @@ CONFIG_TOSHIBA_WMI=m
CONFIG_ACPI_CMPC=m
# CONFIG_INTEL_HID_EVENT is not set
CONFIG_INTEL_IPS=m
# CONFIG_INTEL_PMC_CORE is not set
# CONFIG_IBM_RTL is not set
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
@@ -5734,6 +5768,7 @@ CONFIG_CHROMEOS_PSTORE=m
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_LPC=m
CONFIG_CROS_EC_PROTO=y
# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -5747,6 +5782,8 @@ CONFIG_COMMON_CLK_CDCE706=m
# CONFIG_COMMON_CLK_NXP is not set
CONFIG_COMMON_CLK_PWM=m
# CONFIG_COMMON_CLK_PXA is not set
# CONFIG_COMMON_CLK_PIC32 is not set
# CONFIG_COMMON_CLK_OXNAS is not set
#
# Hardware Spinlock drivers
@@ -5774,7 +5811,6 @@ CONFIG_IOMMU_SUPPORT=y
#
CONFIG_IOMMU_IOVA=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
CONFIG_AMD_IOMMU_V2=m
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
@@ -5807,6 +5843,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
#
# DEVFREQ Drivers
@@ -5853,7 +5890,7 @@ CONFIG_INTEL_RAPL=m
# Performance monitor support
#
CONFIG_RAS=y
CONFIG_AMD_MCE_INJ=m
# CONFIG_MCE_AMD_INJ is not set
CONFIG_THUNDERBOLT=m
#
@@ -5862,6 +5899,7 @@ CONFIG_THUNDERBOLT=m
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_LIBNVDIMM is not set
# CONFIG_DEV_DAX is not set
CONFIG_NVMEM=m
CONFIG_STM=m
CONFIG_STM_DUMMY=m
@@ -5913,6 +5951,8 @@ CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_BOOTLOADER_CONTROL=m
CONFIG_EFI_CAPSULE_LOADER=m
CONFIG_UEFI_CPER=y
#
@@ -5975,6 +6015,7 @@ CONFIG_F2FS_FS_POSIX_ACL=y
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FS_ENCRYPTION is not set
CONFIG_F2FS_IO_TRACE=y
# CONFIG_F2FS_FAULT_INJECTION is not set
CONFIG_FS_DAX=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
@@ -6361,6 +6402,7 @@ CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_HIST_TRIGGERS is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6378,7 +6420,9 @@ CONFIG_TEST_HEXDUMP=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_PRINTF=m
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_HASH is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_DMA_API_DEBUG is not set
@@ -6428,6 +6472,7 @@ CONFIG_KEYS=y
# CONFIG_BIG_KEYS is not set
CONFIG_TRUSTED_KEYS=m
CONFIG_ENCRYPTED_KEYS=m
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
@@ -6446,6 +6491,7 @@ CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_HASH=y
# CONFIG_SECURITY_LOADPIN is not set
# CONFIG_SECURITY_YAMA is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
@@ -6635,15 +6681,11 @@ CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
CONFIG_ASYMMETRIC_KEY_TYPE=m
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
CONFIG_X509_CERTIFICATE_PARSER=m
# CONFIG_PKCS7_MESSAGE_PARSER is not set
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
#
# Certificates for signature checking
#
# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
@@ -6729,6 +6771,7 @@ CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_BTREE=y
CONFIG_INTERVAL_TREE=y
CONFIG_RADIX_TREE_MULTIORDER=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
@@ -6741,11 +6784,9 @@ CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
# CONFIG_DDR is not set
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=m
CONFIG_OID_REGISTRY=m
CONFIG_UCS2_STRING=y
CONFIG_FONT_SUPPORT=y
@@ -6753,6 +6794,7 @@ CONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_SG_SPLIT is not set
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_MMIO_FLUSH=y
@@ -6760,7 +6802,7 @@ CONFIG_ARCH_HAS_MMIO_FLUSH=y
#
# Unofficial 3rd party kernel additions
#
CONFIG_NDISWRAPPER=m
CONFIG_VIAHSS=m
CONFIG_RTL8723BS=m
CONFIG_WLAN_SDIO=y
CONFIG_NDISWRAPPER=m
@@ -47,10 +47,10 @@ diff -Nurp linux-4.2.2/arch/mips/Kconfig linux-4.2.2-3rd/arch/mips/Kconfig
diff -Nurp linux-4.2.2/arch/powerpc/Kconfig linux-4.2.2-3rd/arch/powerpc/Kconfig
--- linux-4.2.2/arch/powerpc/Kconfig 2015-08-30 21:34:09.000000000 +0300
+++ linux-4.2.2-3rd/arch/powerpc/Kconfig 2015-09-29 23:02:44.025347276 +0300
@@ -1092,3 +1092,5 @@ config PPC_LIB_RHEAP
bool
@@ -1112,3 +1112,5 @@ config PPC_LIB_RHEAP
source "arch/powerpc/kvm/Kconfig"
source "kernel/livepatch/Kconfig"
+
+source "3rdparty/Kconfig"
diff -Nurp linux-4.2.2/arch/sparc/Kconfig linux-4.2.2-3rd/arch/sparc/Kconfig
@@ -0,0 +1,20 @@
Add supprto for 4.7 series kernels.
Signed-off-by: Thomas Backlund <tmb@mageia.org>
diff -urp linux/3rdparty/ndiswrapper.orig/wrapndis.c linux/3rdparty/ndiswrapper/wrapndis.c
--- linux/3rdparty/ndiswrapper.orig/wrapndis.c 2016-07-04 20:00:13.000000000 +0300
+++ linux/3rdparty/ndiswrapper/wrapndis.c 2016-07-04 20:23:29.454819702 +0300
@@ -704,7 +704,11 @@ static void tx_worker(struct work_struct
n = wnd->max_tx_packets;
n = mp_tx_packets(wnd, wnd->tx_ring_start, n);
if (n) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
wnd->net_dev->trans_start = jiffies;
+#else
+ netif_trans_update(wnd->net_dev);
+#endif
wnd->tx_ring_start =
(wnd->tx_ring_start + n) % TX_RING_SIZE;
wnd->is_tx_ring_full = 0;
@@ -0,0 +1,178 @@
Fix building with kernel-4.7 series.
Signed-off-by: Thomas Backlund <tmb@mageia.org>
3rdparty/rtl8723bs/os_dep/ioctl_cfg80211.c | 32 ++++++++++++++---------------
3rdparty/rtl8723bs/os_dep/wifi_regd.c | 6 ++---
2 files changed, 19 insertions(+), 19 deletions(-)
diff -urp linux/3rdparty/rtl8723bs.orig/os_dep/ioctl_cfg80211.c linux/3rdparty/rtl8723bs/os_dep/ioctl_cfg80211.c
--- linux/3rdparty/rtl8723bs.orig/os_dep/ioctl_cfg80211.c 2016-07-04 20:00:13.000000000 +0300
+++ linux/3rdparty/rtl8723bs/os_dep/ioctl_cfg80211.c 2016-07-04 20:37:45.054379270 +0300
@@ -44,7 +44,7 @@ static const u32 rtw_cipher_suites[] = {
}
#define CHAN2G(_channel, _freq, _flags) { \
- .band = IEEE80211_BAND_2GHZ, \
+ .band = NL80211_BAND_2GHZ, \
.center_freq = (_freq), \
.hw_value = (_channel), \
.flags = (_flags), \
@@ -120,13 +120,13 @@ static void rtw_2g_rates_init(struct iee
}
static struct ieee80211_supported_band *rtw_spt_band_alloc(
- enum ieee80211_band band
+ enum nl80211_band band
)
{
struct ieee80211_supported_band *spt_band = NULL;
int n_channels, n_bitrates;
- if (band == IEEE80211_BAND_2GHZ)
+ if (band == NL80211_BAND_2GHZ)
{
n_channels = RTW_2G_CHANNELS_NUM;
n_bitrates = RTW_G_RATES_NUM;
@@ -150,7 +150,7 @@ static struct ieee80211_supported_band *
spt_band->n_channels = n_channels;
spt_band->n_bitrates = n_bitrates;
- if (band == IEEE80211_BAND_2GHZ)
+ if (band == NL80211_BAND_2GHZ)
{
rtw_2g_channels_init(spt_band->channels);
rtw_2g_rates_init(spt_band->bitrates);
@@ -170,7 +170,7 @@ static void rtw_spt_band_free(struct iee
if (!spt_band)
return;
- if (spt_band->band == IEEE80211_BAND_2GHZ)
+ if (spt_band->band == NL80211_BAND_2GHZ)
{
size = sizeof(struct ieee80211_supported_band)
+ sizeof(struct ieee80211_channel)*RTW_2G_CHANNELS_NUM
@@ -232,7 +232,7 @@ static int rtw_ieee80211_channel_to_freq
{
/* see 802.11 17.3.8.3.2 and Annex J
* there are overlapping channel numbers in 5GHz and 2GHz bands */
- if (band == IEEE80211_BAND_2GHZ) {
+ if (band == NL80211_BAND_2GHZ) {
if (chan == 14)
return 2484;
else if (chan < 14)
@@ -336,7 +336,7 @@ struct cfg80211_bss *rtw_cfg80211_inform
channel = pnetwork->network.Configuration.DSConfig;
- freq = rtw_ieee80211_channel_to_frequency(channel, IEEE80211_BAND_2GHZ);
+ freq = rtw_ieee80211_channel_to_frequency(channel, NL80211_BAND_2GHZ);
notify_channel = ieee80211_get_channel(wiphy, freq);
@@ -420,7 +420,7 @@ int rtw_cfg80211_check_bss(struct adapte
if (!(pnetwork) || !(padapter->rtw_wdev))
return false;
- freq = rtw_ieee80211_channel_to_frequency(pnetwork->Configuration.DSConfig, IEEE80211_BAND_2GHZ);
+ freq = rtw_ieee80211_channel_to_frequency(pnetwork->Configuration.DSConfig, NL80211_BAND_2GHZ);
notify_channel = ieee80211_get_channel(padapter->rtw_wdev->wiphy, freq);
bss = cfg80211_get_bss(padapter->rtw_wdev->wiphy, notify_channel,
@@ -542,7 +542,7 @@ check_bss:
u32 freq;
u16 channel = cur_network->network.Configuration.DSConfig;
- freq = rtw_ieee80211_channel_to_frequency(channel, IEEE80211_BAND_2GHZ);
+ freq = rtw_ieee80211_channel_to_frequency(channel, NL80211_BAND_2GHZ);
notify_channel = ieee80211_get_channel(wiphy, freq);
@@ -3064,7 +3064,7 @@ void rtw_cfg80211_rx_action(struct adapt
else
DBG_871X("RTW_Rx:category(%u), action(%u)\n", category, action);
- freq = rtw_ieee80211_channel_to_frequency(channel, IEEE80211_BAND_2GHZ);
+ freq = rtw_ieee80211_channel_to_frequency(channel, NL80211_BAND_2GHZ);
rtw_cfg80211_rx_mgmt(adapter, freq, 0, frame, frame_len, GFP_ATOMIC);
}
@@ -3311,7 +3311,7 @@ static int cfg80211_rtw_sched_scan_stop(
}
#endif /* CONFIG_PNO_SUPPORT */
-static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
+static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum nl80211_band band, u8 rf_type)
{
#define MAX_BIT_RATE_40MHZ_MCS15 300 /* Mbps */
@@ -3335,7 +3335,7 @@ static void rtw_cfg80211_init_ht_capab(s
ht_cap->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
/*
- *hw->wiphy->bands[IEEE80211_BAND_2GHZ]
+ *hw->wiphy->bands[NL80211_BAND_2GHZ]
*base on ant_num
*rx_mask: RX mask
*if rx_ant = 1 rx_mask[0]= 0xff;==>MCS0-MCS7
@@ -3379,9 +3379,9 @@ void rtw_cfg80211_init_wiphy(struct adap
DBG_8192C("%s:rf_type =%d\n", __func__, rf_type);
{
- bands = wiphy->bands[IEEE80211_BAND_2GHZ];
+ bands = wiphy->bands[NL80211_BAND_2GHZ];
if (bands)
- rtw_cfg80211_init_ht_capab(&bands->ht_cap, IEEE80211_BAND_2GHZ, rf_type);
+ rtw_cfg80211_init_ht_capab(&bands->ht_cap, NL80211_BAND_2GHZ, rf_type);
}
/* init regulary domain */
@@ -3417,7 +3417,7 @@ static void rtw_cfg80211_preinit_wiphy(s
wiphy->n_cipher_suites = ARRAY_SIZE(rtw_cipher_suites);
/* if (padapter->registrypriv.wireless_mode & WIRELESS_11G) */
- wiphy->bands[IEEE80211_BAND_2GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_2GHZ);
+ wiphy->bands[NL80211_BAND_2GHZ] = rtw_spt_band_alloc(NL80211_BAND_2GHZ);
wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
wiphy->flags |= WIPHY_FLAG_OFFCHAN_TX | WIPHY_FLAG_HAVE_AP_SME;
@@ -3564,7 +3564,7 @@ void rtw_wdev_free(struct wireless_dev *
if (!wdev)
return;
- rtw_spt_band_free(wdev->wiphy->bands[IEEE80211_BAND_2GHZ]);
+ rtw_spt_band_free(wdev->wiphy->bands[NL80211_BAND_2GHZ]);
wiphy_free(wdev->wiphy);
diff -urp linux/3rdparty/rtl8723bs.orig/os_dep/wifi_regd.c linux/3rdparty/rtl8723bs/os_dep/wifi_regd.c
--- linux/3rdparty/rtl8723bs.orig/os_dep/wifi_regd.c 2016-07-04 20:00:13.000000000 +0300
+++ linux/3rdparty/rtl8723bs/os_dep/wifi_regd.c 2016-07-04 20:35:31.427278665 +0300
@@ -105,7 +105,7 @@ static int rtw_ieee80211_channel_to_freq
/* see 802.11 17.3.8.3.2 and Annex J
* there are overlapping channel numbers in 5GHz and 2GHz bands */
- /* IEEE80211_BAND_2GHZ */
+ /* NL80211_BAND_2GHZ */
if (chan == 14)
return 2484;
else if (chan < 14)
@@ -128,7 +128,7 @@ static void _rtw_reg_apply_flags(struct
u32 freq;
/* all channels disable */
- for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+ for (i = 0; i < NUM_NL80211_BANDS; i++) {
sband = wiphy->bands[i];
if (sband) {
@@ -146,7 +146,7 @@ static void _rtw_reg_apply_flags(struct
channel = channel_set[i].ChannelNum;
freq =
rtw_ieee80211_channel_to_frequency(channel,
- IEEE80211_BAND_2GHZ);
+ NL80211_BAND_2GHZ);
ch = ieee80211_get_channel(wiphy, freq);
if (ch) {
@@ -1,98 +0,0 @@
From 2f38b1b16d9280689e5cfa47a4c50956bf437f0d Mon Sep 17 00:00:00 2001
From: Lv Zheng <lv.zheng@intel.com>
Date: Tue, 21 Jun 2016 12:34:15 +0800
Subject: [PATCH] ACPICA: Namespace: Fix deadlock triggered by MLC support in
dynamic table loading
The new module-level code (MLC) approach invokes MLC on the per-table
basis, but the dynamic loading support of this is incorrect because
of the lock order:
acpi_ns_evaluate
acpi_ex_enter_intperter
acpi_ns_load_table (triggered by Load opcode)
acpi_ns_exec_module_code_list
acpi_ex_enter_intperter
The regression is introduced by the following commit:
Commit: 2785ce8d0da1cac9d8f78615e116cf929e9a9123
ACPICA Commit: 071eff738c59eda1792ac24b3b688b61691d7e7c
Subject: ACPICA: Add per-table execution of module-level code
This patch fixes this regression by unlocking the interpreter lock
before invoking MLC. However, the unlocking is done to the
acpi_ns_load_table(), in which the interpreter lock should be locked
by acpi_ns_parse_table() but it wasn't.
Fixes: 2785ce8d0da1 (ACPICA: Add per-table execution of module-level code)
Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Cc: 4.5+ <stable@vger.kernel.org> # 4.5+
[ rjw : Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/acpi/acpica/exconfig.c | 2 ++
drivers/acpi/acpica/nsparse.c | 9 +++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi/acpica/exconfig.c b/drivers/acpi/acpica/exconfig.c
index a1d177d..21932d6 100644
--- a/drivers/acpi/acpica/exconfig.c
+++ b/drivers/acpi/acpica/exconfig.c
@@ -108,7 +108,9 @@ acpi_ex_add_table(u32 table_index,
/* Add the table to the namespace */
+ acpi_ex_exit_interpreter();
status = acpi_ns_load_table(table_index, parent_node);
+ acpi_ex_enter_interpreter();
if (ACPI_FAILURE(status)) {
acpi_ut_remove_reference(obj_desc);
*ddb_handle = NULL;
diff --git a/drivers/acpi/acpica/nsparse.c b/drivers/acpi/acpica/nsparse.c
index f631a47..1783cd7 100644
--- a/drivers/acpi/acpica/nsparse.c
+++ b/drivers/acpi/acpica/nsparse.c
@@ -47,6 +47,7 @@
#include "acparser.h"
#include "acdispat.h"
#include "actables.h"
+#include "acinterp.h"
#define _COMPONENT ACPI_NAMESPACE
ACPI_MODULE_NAME("nsparse")
@@ -170,6 +171,8 @@ acpi_ns_parse_table(u32 table_index, struct acpi_namespace_node *start_node)
ACPI_FUNCTION_TRACE(ns_parse_table);
+ acpi_ex_enter_interpreter();
+
/*
* AML Parse, pass 1
*
@@ -185,7 +188,7 @@ acpi_ns_parse_table(u32 table_index, struct acpi_namespace_node *start_node)
status = acpi_ns_one_complete_parse(ACPI_IMODE_LOAD_PASS1,
table_index, start_node);
if (ACPI_FAILURE(status)) {
- return_ACPI_STATUS(status);
+ goto error_exit;
}
/*
@@ -201,8 +204,10 @@ acpi_ns_parse_table(u32 table_index, struct acpi_namespace_node *start_node)
status = acpi_ns_one_complete_parse(ACPI_IMODE_LOAD_PASS2,
table_index, start_node);
if (ACPI_FAILURE(status)) {
- return_ACPI_STATUS(status);
+ goto error_exit;
}
+error_exit:
+ acpi_ex_exit_interpreter();
return_ACPI_STATUS(status);
}
--
2.9.0
@@ -134,15 +134,12 @@ diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 8aaf193..04504b7 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -230,6 +230,8 @@
@@ -287,6 +287,8 @@
compatible = "brcm,bcm2835-usb";
reg = <0x7e980000 0x10000>;
interrupts = <1 9>;
+ #address-cells = <1>;
+ #size-cells = <0>;
};
};
--
2.8.1
v3d: v3d@7ec00000 {
@@ -1,60 +0,0 @@
From 6b7e9cde49691e04314342b7dce90c67ad567fcc Mon Sep 17 00:00:00 2001
From: "Martin K. Petersen" <martin.petersen@oracle.com>
Date: Thu, 12 May 2016 22:17:34 -0400
Subject: [PATCH] sd: Fix rw_max for devices that report an optimal xfer size
For historic reasons, io_opt is in bytes and max_sectors in block layer
sectors. This interface inconsistency is error prone and should be
fixed. But for 4.4--4.7 let's make the unit difference explicit via a
wrapper function.
Fixes: d0eb20a863ba ("sd: Optimal I/O size is in bytes, not sectors")
Cc: stable@vger.kernel.org # 4.4+
Reported-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Andrew Patterson <andrew.patterson@hpe.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
---
drivers/scsi/sd.c | 8 ++++----
drivers/scsi/sd.h | 5 +++++
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index f459dff..60bff78 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2867,10 +2867,10 @@ static int sd_revalidate_disk(struct gendisk *disk)
if (sdkp->opt_xfer_blocks &&
sdkp->opt_xfer_blocks <= dev_max &&
sdkp->opt_xfer_blocks <= SD_DEF_XFER_BLOCKS &&
- sdkp->opt_xfer_blocks * sdp->sector_size >= PAGE_SIZE)
- rw_max = q->limits.io_opt =
- sdkp->opt_xfer_blocks * sdp->sector_size;
- else
+ logical_to_bytes(sdp, sdkp->opt_xfer_blocks) >= PAGE_SIZE) {
+ q->limits.io_opt = logical_to_bytes(sdp, sdkp->opt_xfer_blocks);
+ rw_max = logical_to_sectors(sdp, sdkp->opt_xfer_blocks);
+ } else
rw_max = BLK_DEF_MAX_SECTORS;
/* Combine with controller limits */
diff --git a/drivers/scsi/sd.h b/drivers/scsi/sd.h
index 654630b..765a6f1 100644
--- a/drivers/scsi/sd.h
+++ b/drivers/scsi/sd.h
@@ -151,6 +151,11 @@ static inline sector_t logical_to_sectors(struct scsi_device *sdev, sector_t blo
return blocks << (ilog2(sdev->sector_size) - 9);
}
+static inline unsigned int logical_to_bytes(struct scsi_device *sdev, sector_t blocks)
+{
+ return blocks * sdev->sector_size;
+}
+
/*
* A DIF-capable target device can be formatted with different
* protection schemes. Currently 0 through 3 are defined:
--
2.9.0
@@ -4,6 +4,7 @@
fs/exec.c | 1 +
fs/fcntl.c | 1 +
fs/file_table.c | 4 ++++
fs/inode.c | 1 +
fs/namespace.c | 2 ++
fs/notify/group.c | 4 ++++
fs/notify/mark.c | 4 ++++
@@ -15,11 +16,11 @@
security/commoncap.c | 2 ++
security/device_cgroup.c | 2 ++
security/security.c | 10 ++++++++++
16 files changed, 40 insertions(+), 1 deletion(-)
17 files changed, 41 insertions(+), 1 deletion(-)
diff -Nurp linux-4.6-aufs/fs/aufs/Kconfig linux-4.6-aufs-mod/fs/aufs/Kconfig
--- linux-4.6-aufs/fs/aufs/Kconfig 2016-06-01 22:44:04.029679796 +0300
+++ linux-4.6-aufs-mod/fs/aufs/Kconfig 2016-06-01 22:44:52.623752681 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/aufs/Kconfig linux-4.7-rc6-aufs-mod/fs/aufs/Kconfig
--- linux-4.7-rc6-aufs/fs/aufs/Kconfig 2016-07-04 19:02:29.246286120 +0300
+++ linux-4.7-rc6-aufs-mod/fs/aufs/Kconfig 2016-07-04 19:03:53.653714965 +0300
@@ -1,5 +1,5 @@
config AUFS_FS
- bool "Aufs (Advanced multi layered unification filesystem) support"
@@ -27,10 +28,10 @@ diff -Nurp linux-4.6-aufs/fs/aufs/Kconfig linux-4.6-aufs-mod/fs/aufs/Kconfig
help
Aufs is a stackable unification filesystem such as Unionfs,
which unifies several directories and provides a merged single
diff -Nurp linux-4.6-aufs/fs/dcache.c linux-4.6-aufs-mod/fs/dcache.c
--- linux-4.6-aufs/fs/dcache.c 2016-06-01 22:44:04.041679813 +0300
+++ linux-4.6-aufs-mod/fs/dcache.c 2016-06-01 22:44:52.623752681 +0300
@@ -1261,6 +1261,7 @@ rename_retry:
diff -Nurp linux-4.7-rc6-aufs/fs/dcache.c linux-4.7-rc6-aufs-mod/fs/dcache.c
--- linux-4.7-rc6-aufs/fs/dcache.c 2016-07-04 19:02:29.260286196 +0300
+++ linux-4.7-rc6-aufs-mod/fs/dcache.c 2016-07-04 19:03:53.653714965 +0300
@@ -1310,6 +1310,7 @@ rename_retry:
seq = 1;
goto again;
}
@@ -38,9 +39,9 @@ diff -Nurp linux-4.6-aufs/fs/dcache.c linux-4.6-aufs-mod/fs/dcache.c
/*
* Search for at least 1 mount point in the dentry's subdirs.
diff -Nurp linux-4.6-aufs/fs/exec.c linux-4.6-aufs-mod/fs/exec.c
--- linux-4.6-aufs/fs/exec.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/exec.c 2016-06-01 22:44:52.624752682 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/exec.c linux-4.7-rc6-aufs-mod/fs/exec.c
--- linux-4.7-rc6-aufs/fs/exec.c 2016-07-04 17:58:15.707773651 +0300
+++ linux-4.7-rc6-aufs-mod/fs/exec.c 2016-07-04 19:03:53.654714970 +0300
@@ -104,6 +104,7 @@ bool path_noexec(const struct path *path
return (path->mnt->mnt_flags & MNT_NOEXEC) ||
(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC);
@@ -49,9 +50,9 @@ diff -Nurp linux-4.6-aufs/fs/exec.c linux-4.6-aufs-mod/fs/exec.c
#ifdef CONFIG_USELIB
/*
diff -Nurp linux-4.6-aufs/fs/fcntl.c linux-4.6-aufs-mod/fs/fcntl.c
--- linux-4.6-aufs/fs/fcntl.c 2016-06-01 22:44:04.041679813 +0300
+++ linux-4.6-aufs-mod/fs/fcntl.c 2016-06-01 22:44:52.624752682 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/fcntl.c linux-4.7-rc6-aufs-mod/fs/fcntl.c
--- linux-4.7-rc6-aufs/fs/fcntl.c 2016-07-04 19:02:29.260286196 +0300
+++ linux-4.7-rc6-aufs-mod/fs/fcntl.c 2016-07-04 19:03:53.654714970 +0300
@@ -82,6 +82,7 @@ int setfl(int fd, struct file * filp, un
out:
return error;
@@ -60,9 +61,9 @@ diff -Nurp linux-4.6-aufs/fs/fcntl.c linux-4.6-aufs-mod/fs/fcntl.c
static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
int force)
diff -Nurp linux-4.6-aufs/fs/file_table.c linux-4.6-aufs-mod/fs/file_table.c
--- linux-4.6-aufs/fs/file_table.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/file_table.c 2016-06-01 22:44:52.624752682 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/file_table.c linux-4.7-rc6-aufs-mod/fs/file_table.c
--- linux-4.7-rc6-aufs/fs/file_table.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.7-rc6-aufs-mod/fs/file_table.c 2016-07-04 19:03:53.654714970 +0300
@@ -147,6 +147,7 @@ over:
}
return ERR_PTR(-ENFILE);
@@ -95,9 +96,20 @@ diff -Nurp linux-4.6-aufs/fs/file_table.c linux-4.6-aufs-mod/fs/file_table.c
void __init files_init(void)
{
diff -Nurp linux-4.6-aufs/fs/namespace.c linux-4.6-aufs-mod/fs/namespace.c
--- linux-4.6-aufs/fs/namespace.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/namespace.c 2016-06-01 22:44:52.625752684 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/inode.c linux-4.7-rc6-aufs-mod/fs/inode.c
--- linux-4.7-rc6-aufs/fs/inode.c 2016-07-04 19:02:29.261286202 +0300
+++ linux-4.7-rc6-aufs-mod/fs/inode.c 2016-07-04 20:51:39.805168596 +0300
@@ -1600,6 +1600,7 @@ int update_time(struct inode *inode, str
return update_time(inode, time, flags);
}
+EXPORT_SYMBOL_GPL(update_time);
/**
* touch_atime - update the access time
diff -Nurp linux-4.7-rc6-aufs/fs/namespace.c linux-4.7-rc6-aufs-mod/fs/namespace.c
--- linux-4.7-rc6-aufs/fs/namespace.c 2016-07-04 17:58:15.729773645 +0300
+++ linux-4.7-rc6-aufs-mod/fs/namespace.c 2016-07-04 19:03:53.654714970 +0300
@@ -463,6 +463,7 @@ void __mnt_drop_write(struct vfsmount *m
mnt_dec_writers(real_mount(mnt));
preempt_enable();
@@ -106,7 +118,7 @@ diff -Nurp linux-4.6-aufs/fs/namespace.c linux-4.6-aufs-mod/fs/namespace.c
/**
* mnt_drop_write - give up write access to a mount
@@ -1811,6 +1812,7 @@ int iterate_mounts(int (*f)(struct vfsmo
@@ -1812,6 +1813,7 @@ int iterate_mounts(int (*f)(struct vfsmo
}
return 0;
}
@@ -114,9 +126,9 @@ diff -Nurp linux-4.6-aufs/fs/namespace.c linux-4.6-aufs-mod/fs/namespace.c
static void cleanup_group_ids(struct mount *mnt, struct mount *end)
{
diff -Nurp linux-4.6-aufs/fs/notify/group.c linux-4.6-aufs-mod/fs/notify/group.c
--- linux-4.6-aufs/fs/notify/group.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/notify/group.c 2016-06-01 22:44:52.625752684 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/notify/group.c linux-4.7-rc6-aufs-mod/fs/notify/group.c
--- linux-4.7-rc6-aufs/fs/notify/group.c 2016-07-04 17:58:15.742773641 +0300
+++ linux-4.7-rc6-aufs-mod/fs/notify/group.c 2016-07-04 19:03:53.655714975 +0300
@@ -22,6 +22,7 @@
#include <linux/srcu.h>
#include <linux/rculist.h>
@@ -125,7 +137,7 @@ diff -Nurp linux-4.6-aufs/fs/notify/group.c linux-4.6-aufs-mod/fs/notify/group.c
#include <linux/fsnotify_backend.h>
#include "fsnotify.h"
@@ -72,6 +73,7 @@ void fsnotify_get_group(struct fsnotify_
@@ -81,6 +82,7 @@ void fsnotify_get_group(struct fsnotify_
{
atomic_inc(&group->refcnt);
}
@@ -133,7 +145,7 @@ diff -Nurp linux-4.6-aufs/fs/notify/group.c linux-4.6-aufs-mod/fs/notify/group.c
/*
* Drop a reference to a group. Free it if it's through.
@@ -81,6 +83,7 @@ void fsnotify_put_group(struct fsnotify_
@@ -90,6 +92,7 @@ void fsnotify_put_group(struct fsnotify_
if (atomic_dec_and_test(&group->refcnt))
fsnotify_final_destroy_group(group);
}
@@ -141,7 +153,7 @@ diff -Nurp linux-4.6-aufs/fs/notify/group.c linux-4.6-aufs-mod/fs/notify/group.c
/*
* Create a new fsnotify_group and hold a reference for the group returned.
@@ -109,6 +112,7 @@ struct fsnotify_group *fsnotify_alloc_gr
@@ -118,6 +121,7 @@ struct fsnotify_group *fsnotify_alloc_gr
return group;
}
@@ -149,9 +161,9 @@ diff -Nurp linux-4.6-aufs/fs/notify/group.c linux-4.6-aufs-mod/fs/notify/group.c
int fsnotify_fasync(int fd, struct file *file, int on)
{
diff -Nurp linux-4.6-aufs/fs/notify/mark.c linux-4.6-aufs-mod/fs/notify/mark.c
--- linux-4.6-aufs/fs/notify/mark.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/notify/mark.c 2016-06-01 22:44:52.625752684 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/notify/mark.c linux-4.7-rc6-aufs-mod/fs/notify/mark.c
--- linux-4.7-rc6-aufs/fs/notify/mark.c 2016-07-04 17:58:15.742773641 +0300
+++ linux-4.7-rc6-aufs-mod/fs/notify/mark.c 2016-07-04 19:03:53.655714975 +0300
@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_m
mark->free_mark(mark);
}
@@ -160,7 +172,7 @@ diff -Nurp linux-4.6-aufs/fs/notify/mark.c linux-4.6-aufs-mod/fs/notify/mark.c
/* Calculate mask of events for a list of marks */
u32 fsnotify_recalc_mask(struct hlist_head *head)
@@ -213,6 +214,7 @@ void fsnotify_destroy_mark(struct fsnoti
@@ -230,6 +231,7 @@ void fsnotify_destroy_mark(struct fsnoti
mutex_unlock(&group->mark_mutex);
fsnotify_free_mark(mark);
}
@@ -168,7 +180,7 @@ diff -Nurp linux-4.6-aufs/fs/notify/mark.c linux-4.6-aufs-mod/fs/notify/mark.c
void fsnotify_destroy_marks(struct hlist_head *head, spinlock_t *lock)
{
@@ -398,6 +400,7 @@ err:
@@ -415,6 +417,7 @@ err:
return ret;
}
@@ -176,24 +188,24 @@ diff -Nurp linux-4.6-aufs/fs/notify/mark.c linux-4.6-aufs-mod/fs/notify/mark.c
int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
struct inode *inode, struct vfsmount *mnt, int allow_dups)
@@ -498,6 +501,7 @@ void fsnotify_init_mark(struct fsnotify_
atomic_set(&mark->refcnt, 1);
mark->free_mark = free_mark;
@@ -521,6 +524,7 @@ void fsnotify_duplicate_mark(struct fsno
new->mask = old->mask;
new->free_mark = old->free_mark;
}
+EXPORT_SYMBOL_GPL(fsnotify_init_mark);
static void fsnotify_mark_destroy(struct work_struct *work)
{
diff -Nurp linux-4.6-aufs/fs/open.c linux-4.6-aufs-mod/fs/open.c
--- linux-4.6-aufs/fs/open.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/open.c 2016-06-01 22:44:52.625752684 +0300
/*
* Nothing fancy, just initialize lists and locks and counters.
diff -Nurp linux-4.7-rc6-aufs/fs/open.c linux-4.7-rc6-aufs-mod/fs/open.c
--- linux-4.7-rc6-aufs/fs/open.c 2016-07-04 17:58:15.746773640 +0300
+++ linux-4.7-rc6-aufs-mod/fs/open.c 2016-07-04 19:03:53.655714975 +0300
@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, l
inode_unlock(dentry->d_inode);
return ret;
}
+EXPORT_SYMBOL_GPL(do_truncate);
long vfs_truncate(struct path *path, loff_t length)
long vfs_truncate(const struct path *path, loff_t length)
{
@@ -678,6 +679,7 @@ int open_check_o_direct(struct file *f)
}
@@ -203,10 +215,10 @@ diff -Nurp linux-4.6-aufs/fs/open.c linux-4.6-aufs-mod/fs/open.c
static int do_dentry_open(struct file *f,
struct inode *inode,
diff -Nurp linux-4.6-aufs/fs/read_write.c linux-4.6-aufs-mod/fs/read_write.c
--- linux-4.6-aufs/fs/read_write.c 2016-06-01 22:44:04.042679815 +0300
+++ linux-4.6-aufs-mod/fs/read_write.c 2016-06-01 22:44:52.626752685 +0300
@@ -544,6 +544,7 @@ vfs_readf_t vfs_readf(struct file *file)
diff -Nurp linux-4.7-rc6-aufs/fs/read_write.c linux-4.7-rc6-aufs-mod/fs/read_write.c
--- linux-4.7-rc6-aufs/fs/read_write.c 2016-07-04 19:02:29.262286207 +0300
+++ linux-4.7-rc6-aufs-mod/fs/read_write.c 2016-07-04 19:03:53.655714975 +0300
@@ -525,6 +525,7 @@ vfs_readf_t vfs_readf(struct file *file)
return new_sync_read;
return ERR_PTR(-ENOSYS);
}
@@ -214,7 +226,7 @@ diff -Nurp linux-4.6-aufs/fs/read_write.c linux-4.6-aufs-mod/fs/read_write.c
vfs_writef_t vfs_writef(struct file *file)
{
@@ -555,6 +556,7 @@ vfs_writef_t vfs_writef(struct file *fil
@@ -536,6 +537,7 @@ vfs_writef_t vfs_writef(struct file *fil
return new_sync_write;
return ERR_PTR(-ENOSYS);
}
@@ -222,9 +234,9 @@ diff -Nurp linux-4.6-aufs/fs/read_write.c linux-4.6-aufs-mod/fs/read_write.c
ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t *pos)
{
diff -Nurp linux-4.6-aufs/fs/splice.c linux-4.6-aufs-mod/fs/splice.c
--- linux-4.6-aufs/fs/splice.c 2016-06-01 22:44:04.042679815 +0300
+++ linux-4.6-aufs-mod/fs/splice.c 2016-06-01 22:44:52.626752685 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/splice.c linux-4.7-rc6-aufs-mod/fs/splice.c
--- linux-4.7-rc6-aufs/fs/splice.c 2016-07-04 19:02:29.262286207 +0300
+++ linux-4.7-rc6-aufs-mod/fs/splice.c 2016-07-04 19:03:53.656714979 +0300
@@ -1124,6 +1124,7 @@ long do_splice_from(struct pipe_inode_in
return splice_write(pipe, out, ppos, len, flags);
@@ -241,9 +253,9 @@ diff -Nurp linux-4.6-aufs/fs/splice.c linux-4.6-aufs-mod/fs/splice.c
/**
* splice_direct_to_actor - splices data directly between two non-pipes
diff -Nurp linux-4.6-aufs/fs/xattr.c linux-4.6-aufs-mod/fs/xattr.c
--- linux-4.6-aufs/fs/xattr.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/fs/xattr.c 2016-06-01 22:44:52.626752685 +0300
diff -Nurp linux-4.7-rc6-aufs/fs/xattr.c linux-4.7-rc6-aufs-mod/fs/xattr.c
--- linux-4.7-rc6-aufs/fs/xattr.c 2016-07-04 17:58:15.754773638 +0300
+++ linux-4.7-rc6-aufs-mod/fs/xattr.c 2016-07-04 19:03:53.656714979 +0300
@@ -207,6 +207,7 @@ vfs_getxattr_alloc(struct dentry *dentry
*xattr_value = value;
return error;
@@ -252,17 +264,17 @@ diff -Nurp linux-4.6-aufs/fs/xattr.c linux-4.6-aufs-mod/fs/xattr.c
ssize_t
vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size)
diff -Nurp linux-4.6-aufs/kernel/task_work.c linux-4.6-aufs-mod/kernel/task_work.c
--- linux-4.6-aufs/kernel/task_work.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/kernel/task_work.c 2016-06-01 22:44:52.626752685 +0300
diff -Nurp linux-4.7-rc6-aufs/kernel/task_work.c linux-4.7-rc6-aufs-mod/kernel/task_work.c
--- linux-4.7-rc6-aufs/kernel/task_work.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.7-rc6-aufs-mod/kernel/task_work.c 2016-07-04 19:03:53.656714979 +0300
@@ -118,3 +118,4 @@ void task_work_run(void)
} while (work);
}
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff -Nurp linux-4.6-aufs/security/commoncap.c linux-4.6-aufs-mod/security/commoncap.c
--- linux-4.6-aufs/security/commoncap.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/security/commoncap.c 2016-06-01 22:44:52.627752687 +0300
diff -Nurp linux-4.7-rc6-aufs/security/commoncap.c linux-4.7-rc6-aufs-mod/security/commoncap.c
--- linux-4.7-rc6-aufs/security/commoncap.c 2016-07-04 17:58:15.945773585 +0300
+++ linux-4.7-rc6-aufs-mod/security/commoncap.c 2016-07-04 19:03:53.656714979 +0300
@@ -1058,12 +1058,14 @@ int cap_mmap_addr(unsigned long addr)
}
return ret;
@@ -278,9 +290,9 @@ diff -Nurp linux-4.6-aufs/security/commoncap.c linux-4.6-aufs-mod/security/commo
#ifdef CONFIG_SECURITY
diff -Nurp linux-4.6-aufs/security/device_cgroup.c linux-4.6-aufs-mod/security/device_cgroup.c
--- linux-4.6-aufs/security/device_cgroup.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/security/device_cgroup.c 2016-06-01 22:44:52.627752687 +0300
diff -Nurp linux-4.7-rc6-aufs/security/device_cgroup.c linux-4.7-rc6-aufs-mod/security/device_cgroup.c
--- linux-4.7-rc6-aufs/security/device_cgroup.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.7-rc6-aufs-mod/security/device_cgroup.c 2016-07-04 19:03:53.656714979 +0300
@@ -7,6 +7,7 @@
#include <linux/device_cgroup.h>
#include <linux/cgroup.h>
@@ -297,58 +309,58 @@ diff -Nurp linux-4.6-aufs/security/device_cgroup.c linux-4.6-aufs-mod/security/d
int devcgroup_inode_mknod(int mode, dev_t dev)
{
diff -Nurp linux-4.6-aufs/security/security.c linux-4.6-aufs-mod/security/security.c
--- linux-4.6-aufs/security/security.c 2016-05-16 01:43:13.000000000 +0300
+++ linux-4.6-aufs-mod/security/security.c 2016-06-01 22:44:52.627752687 +0300
@@ -433,6 +433,7 @@ int security_path_rmdir(struct path *dir
diff -Nurp linux-4.7-rc6-aufs/security/security.c linux-4.7-rc6-aufs-mod/security/security.c
--- linux-4.7-rc6-aufs/security/security.c 2016-07-04 17:58:15.948773584 +0300
+++ linux-4.7-rc6-aufs-mod/security/security.c 2016-07-04 19:03:53.657714984 +0300
@@ -434,6 +434,7 @@ int security_path_rmdir(const struct pat
return 0;
return call_int_hook(path_rmdir, 0, dir, dentry);
}
+EXPORT_SYMBOL_GPL(security_path_rmdir);
int security_path_unlink(struct path *dir, struct dentry *dentry)
int security_path_unlink(const struct path *dir, struct dentry *dentry)
{
@@ -449,6 +450,7 @@ int security_path_symlink(struct path *d
@@ -450,6 +451,7 @@ int security_path_symlink(const struct p
return 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
}
+EXPORT_SYMBOL_GPL(security_path_symlink);
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
struct dentry *new_dentry)
@@ -457,6 +459,7 @@ int security_path_link(struct dentry *ol
@@ -458,6 +460,7 @@ int security_path_link(struct dentry *ol
return 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
}
+EXPORT_SYMBOL_GPL(security_path_link);
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
struct path *new_dir, struct dentry *new_dentry,
@@ -484,6 +487,7 @@ int security_path_truncate(struct path *
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
const struct path *new_dir, struct dentry *new_dentry,
@@ -485,6 +488,7 @@ int security_path_truncate(const struct
return 0;
return call_int_hook(path_truncate, 0, path);
}
+EXPORT_SYMBOL_GPL(security_path_truncate);
int security_path_chmod(struct path *path, umode_t mode)
int security_path_chmod(const struct path *path, umode_t mode)
{
@@ -491,6 +495,7 @@ int security_path_chmod(struct path *pat
@@ -492,6 +496,7 @@ int security_path_chmod(const struct pat
return 0;
return call_int_hook(path_chmod, 0, path, mode);
}
+EXPORT_SYMBOL_GPL(security_path_chmod);
int security_path_chown(struct path *path, kuid_t uid, kgid_t gid)
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
{
@@ -498,6 +503,7 @@ int security_path_chown(struct path *pat
@@ -499,6 +504,7 @@ int security_path_chown(const struct pat
return 0;
return call_int_hook(path_chown, 0, path, uid, gid);
}
+EXPORT_SYMBOL_GPL(security_path_chown);
int security_path_chroot(struct path *path)
int security_path_chroot(const struct path *path)
{
@@ -583,6 +589,7 @@ int security_inode_readlink(struct dentr
@@ -584,6 +590,7 @@ int security_inode_readlink(struct dentr
return 0;
return call_int_hook(inode_readlink, 0, dentry);
}
@@ -356,7 +368,7 @@ diff -Nurp linux-4.6-aufs/security/security.c linux-4.6-aufs-mod/security/securi
int security_inode_follow_link(struct dentry *dentry, struct inode *inode,
bool rcu)
@@ -598,6 +605,7 @@ int security_inode_permission(struct ino
@@ -599,6 +606,7 @@ int security_inode_permission(struct ino
return 0;
return call_int_hook(inode_permission, 0, inode, mask);
}
@@ -364,7 +376,7 @@ diff -Nurp linux-4.6-aufs/security/security.c linux-4.6-aufs-mod/security/securi
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
@@ -736,6 +744,7 @@ int security_file_permission(struct file
@@ -737,6 +745,7 @@ int security_file_permission(struct file
return fsnotify_perm(file, mask);
}
@@ -372,7 +384,7 @@ diff -Nurp linux-4.6-aufs/security/security.c linux-4.6-aufs-mod/security/securi
int security_file_alloc(struct file *file)
{
@@ -795,6 +804,7 @@ int security_mmap_file(struct file *file
@@ -796,6 +805,7 @@ int security_mmap_file(struct file *file
return ret;
return ima_file_mmap(file, prot);
}
@@ -0,0 +1,16 @@
Mark as 4.7 so we can rebuild aufs tools with matching 4.7 check
Signed-off-by: Thomas Backlund <tmb@mageia.org>
--- linux/include/uapi/linux/aufs_type.h.orig
+++ linux/include/uapi/linux/aufs_type.h
@@ -26,7 +26,7 @@
#include <linux/limits.h>
-#define AUFS_VERSION "4.x-rcN"
+#define AUFS_VERSION "4.7"
/* todo? move this to linux-2.6.19/include/magic.h */
#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -1,63 +0,0 @@
From 1e3fa0acfec677e915d7de5ac6e1f18cfa4f805b Mon Sep 17 00:00:00 2001
From: Lyude <cpaul@redhat.com>
Date: Thu, 9 Jun 2016 11:58:15 -0400
Subject: [PATCH] drm/i915/fbc: Disable on HSW by default for now
>From https://bugs.freedesktop.org/show_bug.cgi?id=96461 :
This was kind of a difficult bug to track down. If you're using a
Haswell system running GNOME and you have fbc completely enabled and
working, playing videos can result in video artifacts. Steps to
reproduce:
- Run GNOME
- Ensure FBC is enabled and active
- Download a movie, I used the ogg version of Big Buck Bunny for this
- Run `gst-launch-1.0 filesrc location='some_movie.ogg' ! decodebin !
glimagesink` in a terminal
- Watch for about over a minute, you'll see small horizontal lines go
down the screen.
For the time being, disable FBC for Haswell by default.
Stefan Richter reported kernel freezes (no video artifacts) when fbc
is on. (E3-1245 v3 with HD P4600; openbox and some KDE and LXDE
applications, thread begins at https://lkml.org/lkml/2016/4/26/813).
We also got reports from Steven Honeyman on openbox+roxterm.
v2 (From Paulo):
- Add extra information to the commit message
- Add Fixes tag
- Rebase
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96461
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96464
Fixes: a98ee79317b4 ("drm/i915/fbc: enable FBC by default on HSW and BDW")
Cc: stable@vger.kernel.org
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Lyude <cpaul@redhat.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1465487895-7401-1-git-send-email-cpaul@redhat.com
(cherry picked from commit c7f7e2feffb0294302041507dfd5fc15f01afccc)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_fbc.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index d5a7cfe..647127f 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -824,8 +824,7 @@ static bool intel_fbc_can_choose(struct intel_crtc *crtc)
{
struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
struct intel_fbc *fbc = &dev_priv->fbc;
- bool enable_by_default = IS_HASWELL(dev_priv) ||
- IS_BROADWELL(dev_priv);
+ bool enable_by_default = IS_BROADWELL(dev_priv);
if (intel_vgpu_active(dev_priv->dev)) {
fbc->no_fbc_reason = "VGPU is active";
--
2.9.0
@@ -1,49 +0,0 @@
From e838a45f9392a5bd2be1cd3ab0b16ae85857461c Mon Sep 17 00:00:00 2001
From: Mel Gorman <mgorman@techsingularity.net>
Date: Fri, 24 Jun 2016 14:49:37 -0700
Subject: [PATCH] mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask
Commit d0164adc89f6 ("mm, page_alloc: distinguish between being unable
to sleep, unwilling to sleep and avoiding waking kswapd") modified
__GFP_WAIT to explicitly identify the difference between atomic callers
and those that were unwilling to sleep. Later the definition was
removed entirely.
The GFP_RECLAIM_MASK is the set of flags that affect watermark checking
and reclaim behaviour but __GFP_ATOMIC was never added. Without it,
atomic users of the slab allocator strip the __GFP_ATOMIC flag and
cannot access the page allocator atomic reserves. This patch addresses
the problem.
The user-visible impact depends on the workload but potentially atomic
allocations unnecessarily fail without this path.
Link: http://lkml.kernel.org/r/20160610093832.GK2527@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Reported-by: Marcin Wojtas <mw@semihalf.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: <stable@vger.kernel.org> [4.4+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
mm/internal.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/internal.h b/mm/internal.h
index a37e5b6..2524ec8 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -24,7 +24,8 @@
*/
#define GFP_RECLAIM_MASK (__GFP_RECLAIM|__GFP_HIGH|__GFP_IO|__GFP_FS|\
__GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|\
- __GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC)
+ __GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC|\
+ __GFP_ATOMIC)
/* The GFP flags allowed during early boot */
#define GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_RECLAIM|__GFP_IO|__GFP_FS))
--
2.9.0
@@ -1,39 +0,0 @@
From b9b4bb26af017dbe930cd4df7f9b2fc3a0497bfe Mon Sep 17 00:00:00 2001
From: Anthony Romano <anthony.romano@coreos.com>
Date: Fri, 24 Jun 2016 14:48:43 -0700
Subject: [PATCH] tmpfs: don't undo fallocate past its last page
When fallocate is interrupted it will undo a range that extends one byte
past its range of allocated pages. This can corrupt an in-use page by
zeroing out its first byte. Instead, undo using the inclusive byte
range.
Fixes: 1635f6a74152f1d ("tmpfs: undo fallocation on failure")
Link: http://lkml.kernel.org/r/1462713387-16724-1-git-send-email-anthony.romano@coreos.com
Signed-off-by: Anthony Romano <anthony.romano@coreos.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
Cc: Brandon Philips <brandon@ifup.co>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
mm/shmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/shmem.c b/mm/shmem.c
index a361449..24463b6 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2227,7 +2227,7 @@ static long shmem_fallocate(struct file *file, int mode, loff_t offset,
/* Remove the !PageUptodate pages we added */
shmem_undo_range(inode,
(loff_t)start << PAGE_SHIFT,
- (loff_t)index << PAGE_SHIFT, true);
+ ((loff_t)index << PAGE_SHIFT) - 1, true);
goto undone;
}
--
2.9.0
@@ -0,0 +1,42 @@
From: Luca Coelho <luca-XPOmlcxoEMv1KXRcyAk9cg@public.gmane.org>
Subject: [PATCH 13/56] iwlwifi: add new 8260 PCI IDs
Date: Wed, 6 Jul 2016 13:40:08 +0300
From: Oren Givon <oren.givon-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Add 3 new 8260 series PCI IDs:
- (0x24F3, 0x10B0)
- (0x24F3, 0xD0B0)
- (0x24F3, 0xB0B0)
CC: <stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> [4.1+]
Signed-off-by: Oren Givon <oren.givon-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: David Spinadel <david.spinadel-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Luca Coelho <luciano.coelho-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
index a588b05..1cae19d 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
@@ -433,6 +433,7 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
/* 8000 Series */
{IWL_PCI_DEVICE(0x24F3, 0x0010, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x1010, iwl8260_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24F3, 0x10B0, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x0130, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x1130, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x0132, iwl8260_2ac_cfg)},
@@ -454,6 +455,8 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
{IWL_PCI_DEVICE(0x24F3, 0xD010, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0xC050, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0xD050, iwl8260_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24F3, 0xD0B0, iwl8260_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24F3, 0xB0B0, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x8010, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x8110, iwl8260_2ac_cfg)},
{IWL_PCI_DEVICE(0x24F3, 0x9010, iwl8260_2ac_cfg)},
--
2.8.1
@@ -0,0 +1,48 @@
From: Luca Coelho <luca@coelho.fi>
Subject: [PATCH 14/56] iwlwifi: add new 8265
Date: Wed, 6 Jul 2016 13:40:09 +0300
From: Oren Givon <oren.givon@intel.com>
Add 6 new 8265 series PCI IDs:
- (0x24FD, 0x1130)
- (0x24FD, 0x0130)
- (0x24FD, 0x0910)
- (0x24FD, 0x0930)
- (0x24FD, 0x0950)
- (0x24FD, 0x0850)
CC: <stable@vger.kernel.org> [4.6+]
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
index 1cae19d..6f020e4 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
@@ -484,6 +484,8 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
{IWL_PCI_DEVICE(0x24FD, 0x0010, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x0110, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x1110, iwl8265_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24FD, 0x1130, iwl8265_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24FD, 0x0130, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x1010, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x0050, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x0150, iwl8265_2ac_cfg)},
@@ -494,6 +496,10 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
{IWL_PCI_DEVICE(0x24FD, 0x0810, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x9110, iwl8265_2ac_cfg)},
{IWL_PCI_DEVICE(0x24FD, 0x8130, iwl8265_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24FD, 0x0910, iwl8265_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24FD, 0x0930, iwl8265_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24FD, 0x0950, iwl8265_2ac_cfg)},
+ {IWL_PCI_DEVICE(0x24FD, 0x0850, iwl8265_2ac_cfg)},
/* 9000 Series */
{IWL_PCI_DEVICE(0x2526, 0x0000, iwl9260_2ac_cfg)},
--
2.8.1
@@ -0,0 +1,58 @@
From: Luca Coelho <luca-XPOmlcxoEMv1KXRcyAk9cg@public.gmane.org>
Subject: [PATCH 28/56] iwlwifi: pcie: enable interrupts before releasing the NIC's CPU
Date: Wed, 6 Jul 2016 13:40:23 +0300
From: Emmanuel Grumbach <emmanuel.grumbach-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
The NIC's CPU gets started after the firmware has been
written to its memory. The first thing it does is to
send an interrupt to let the driver know that it is
running. In order to get that interrupt, the driver needs
to make sure it is not masked. Of course, the interrupt
needs to be enabled in the driver before the CPU starts to
run.
I mistakenly inversed those two steps leading to races
which prevented the driver from getting the alive interrupt
from the firmware.
Fix that.
Cc: <stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> [4.5+]
Fixes: a6bd005fe92 ("iwlwifi: pcie: fix RF-Kill vs. firmware load race")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Luca Coelho <luciano.coelho-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index 3badebb..ac623c3 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
@@ -801,6 +801,8 @@ static int iwl_pcie_load_cpu_sections_8000(struct iwl_trans *trans,
*first_ucode_section = last_read_idx;
+ iwl_enable_interrupts(trans);
+
if (cpu == 1)
iwl_write_direct32(trans, FH_UCODE_LOAD_STATUS, 0xFFFF);
else
@@ -980,6 +982,8 @@ static int iwl_pcie_load_given_ucode(struct iwl_trans *trans,
iwl_pcie_apply_destination(trans);
}
+ iwl_enable_interrupts(trans);
+
/* release CPU reset */
iwl_write32(trans, CSR_RESET, 0);
@@ -1215,7 +1219,6 @@ static int iwl_trans_pcie_start_fw(struct iwl_trans *trans,
ret = iwl_pcie_load_given_ucode_8000(trans, fw);
else
ret = iwl_pcie_load_given_ucode(trans, fw);
- iwl_enable_interrupts(trans);
/* re-check RF-Kill state since we may have missed the interrupt */
hw_rfkill = iwl_is_rfkill_set(trans);
--
2.8.1
@@ -0,0 +1,195 @@
From: Luca Coelho <luca@coelho.fi>
Subject: [PATCH 48/56] iwlwifi: pcie: fix a race in firmware loading flow
Date: Wed, 6 Jul 2016 13:40:43 +0300
From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Upon firmware load interrupt (FH_TX), the ISR re-enables the
firmware load interrupt only to avoid races with other
flows as described in the commit below. When the firmware
is completely loaded, the thread that is loading the
firmware will enable all the interrupts to make sure that
the driver gets the ALIVE interrupt.
The problem with that is that the thread that is loading
the firmware is actually racing against the ISR and we can
get to the following situation:
CPU0 CPU1
iwl_pcie_load_given_ucode
...
iwl_pcie_load_firmware_chunk
wait_for_interrupt
<interrupt>
ISR handles CSR_INT_BIT_FH_TX
ISR wakes up the thread on CPU0
/* enable all the interrupts
* to get the ALIVE interrupt
*/
iwl_enable_interrupts
ISR re-enables CSR_INT_BIT_FH_TX only
/* start the firmware */
iwl_write32(trans, CSR_RESET, 0);
BUG! ALIVE interrupt will never arrive since it has been
masked by CPU1.
In order to fix that, change the ISR to first check if
STATUS_INT_ENABLED is set. If so, re-enable all the
interrupts. If STATUS_INT_ENABLED is clear, then we can
check what specific interrupt happened and re-enable only
that specific interrupt (RFKILL or FH_TX).
All the credit for the analysis goes to Kirtika who did the
actual debugging work.
Cc: <stable@vger.kernel.org> [4.5+]
Fixes: a6bd005fe92 ("iwlwifi: pcie: fix RF-Kill vs. firmware load race")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
drivers/net/wireless/intel/iwlwifi/pcie/internal.h | 21 +++++++++++++++++++--
drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 16 +++++++++-------
drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 8 --------
3 files changed, 28 insertions(+), 17 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
index f684b9d..54af3da 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
@@ -500,7 +500,7 @@ void iwl_pcie_dump_csr(struct iwl_trans *trans);
/*****************************************************
* Helpers
******************************************************/
-static inline void iwl_disable_interrupts(struct iwl_trans *trans)
+static inline void _iwl_disable_interrupts(struct iwl_trans *trans)
{
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
@@ -523,7 +523,16 @@ static inline void iwl_disable_interrupts(struct iwl_trans *trans)
IWL_DEBUG_ISR(trans, "Disabled interrupts\n");
}
-static inline void iwl_enable_interrupts(struct iwl_trans *trans)
+static inline void iwl_disable_interrupts(struct iwl_trans *trans)
+{
+ struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
+
+ spin_lock(&trans_pcie->irq_lock);
+ _iwl_disable_interrupts(trans);
+ spin_unlock(&trans_pcie->irq_lock);
+}
+
+static inline void _iwl_enable_interrupts(struct iwl_trans *trans)
{
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
@@ -546,6 +555,14 @@ static inline void iwl_enable_interrupts(struct iwl_trans *trans)
}
}
+static inline void iwl_enable_interrupts(struct iwl_trans *trans)
+{
+ struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
+
+ spin_lock(&trans_pcie->irq_lock);
+ _iwl_enable_interrupts(trans);
+ spin_unlock(&trans_pcie->irq_lock);
+}
static inline void iwl_enable_hw_int_msk_msix(struct iwl_trans *trans, u32 msk)
{
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
index 0296c29..45f1b7e 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
@@ -1535,7 +1535,7 @@ irqreturn_t iwl_pcie_irq_handler(int irq, void *dev_id)
* have anything to service
*/
if (test_bit(STATUS_INT_ENABLED, &trans->status))
- iwl_enable_interrupts(trans);
+ _iwl_enable_interrupts(trans);
spin_unlock(&trans_pcie->irq_lock);
lock_map_release(&trans->sync_cmd_lockdep_map);
return IRQ_NONE;
@@ -1727,15 +1727,17 @@ irqreturn_t iwl_pcie_irq_handler(int irq, void *dev_id)
inta & ~trans_pcie->inta_mask);
}
+ spin_lock(&trans_pcie->irq_lock);
+ /* only Re-enable all interrupt if disabled by irq */
+ if (test_bit(STATUS_INT_ENABLED, &trans->status))
+ _iwl_enable_interrupts(trans);
/* we are loading the firmware, enable FH_TX interrupt only */
- if (handled & CSR_INT_BIT_FH_TX)
+ else if (handled & CSR_INT_BIT_FH_TX)
iwl_enable_fw_load_int(trans);
- /* only Re-enable all interrupt if disabled by irq */
- else if (test_bit(STATUS_INT_ENABLED, &trans->status))
- iwl_enable_interrupts(trans);
/* Re-enable RF_KILL if it occurred */
else if (handled & CSR_INT_BIT_RF_KILL)
iwl_enable_rfkill_int(trans);
+ spin_unlock(&trans_pcie->irq_lock);
out:
lock_map_release(&trans->sync_cmd_lockdep_map);
@@ -1799,7 +1801,7 @@ void iwl_pcie_reset_ict(struct iwl_trans *trans)
return;
spin_lock(&trans_pcie->irq_lock);
- iwl_disable_interrupts(trans);
+ _iwl_disable_interrupts(trans);
memset(trans_pcie->ict_tbl, 0, ICT_SIZE);
@@ -1815,7 +1817,7 @@ void iwl_pcie_reset_ict(struct iwl_trans *trans)
trans_pcie->use_ict = true;
trans_pcie->ict_index = 0;
iwl_write32(trans, CSR_INT, trans_pcie->inta_mask);
- iwl_enable_interrupts(trans);
+ _iwl_enable_interrupts(trans);
spin_unlock(&trans_pcie->irq_lock);
}
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index 3b7a414..9e953a4 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
@@ -1037,9 +1037,7 @@ static void _iwl_trans_pcie_stop_device(struct iwl_trans *trans, bool low_power)
was_hw_rfkill = iwl_is_rfkill_set(trans);
/* tell the device to stop sending interrupts */
- spin_lock(&trans_pcie->irq_lock);
iwl_disable_interrupts(trans);
- spin_unlock(&trans_pcie->irq_lock);
/* device going down, Stop using ICT table */
iwl_pcie_disable_ict(trans);
@@ -1083,9 +1081,7 @@ static void _iwl_trans_pcie_stop_device(struct iwl_trans *trans, bool low_power)
* the time, unless the interrupt is ACKed even if the interrupt
* should be masked. Re-ACK all the interrupts here.
*/
- spin_lock(&trans_pcie->irq_lock);
iwl_disable_interrupts(trans);
- spin_unlock(&trans_pcie->irq_lock);
/* clear all status bits */
clear_bit(STATUS_SYNC_HCMD_ACTIVE, &trans->status);
@@ -1578,15 +1574,11 @@ static void iwl_trans_pcie_op_mode_leave(struct iwl_trans *trans)
mutex_lock(&trans_pcie->mutex);
/* disable interrupts - don't enable HW RF kill interrupt */
- spin_lock(&trans_pcie->irq_lock);
iwl_disable_interrupts(trans);
- spin_unlock(&trans_pcie->irq_lock);
iwl_pcie_apm_stop(trans, true);
- spin_lock(&trans_pcie->irq_lock);
iwl_disable_interrupts(trans);
- spin_unlock(&trans_pcie->irq_lock);
iwl_pcie_disable_ict(trans);
--
2.8.1
+11 -17
View File
@@ -77,9 +77,6 @@ acpi-processor-M720SR-limit-to-C2.patch
# backlight fixes
ACPI-video-Add-a-quirk-to-force-acpi-video-backlight.patch
#
acpi-ACPICA-Namespace-Fix-deadlock-triggered-by-MLC-suppo.patch
###
### Block
###
@@ -125,9 +122,6 @@ block-Make-CFQ-default-to-IOPS-mode-on-SSDs.patch
# ahci ids
ahci-add-new-Intel-device-IDs.patch
#
block-sd-Fix-rw_max-for-devices-that-report-an-optimal-xfe.patch
###
### Char
###
@@ -140,8 +134,9 @@ Revert-ipmi-Start-the-timer-and-thread-on-internal-m.patch
###
# aufs from: http://aufs.sourceforge.net/ (mga#8314)
fs-aufs-4.6.patch
fs-aufs-4.6-modular.patch
fs-aufs-4.7.patch
fs-aufs-4.7-modular.patch
fs-aufs-4.7-ver-fix.patch
###
### FireWire
@@ -176,9 +171,6 @@ gpu-drm-mach64-linux-3.14-buildfix.patch
gpu-drm-mach64-3.17-buildfix.patch
gpu-drm-mach64-3.18-buildfix.patch
# hsw screen glitches
gpu-drm-i915-fbc-Disable-on-HSW-by-default-for-now.patch
###
### Hardware Monitoring
###
@@ -209,12 +201,6 @@ input-i8042-quirks-for-Fujitsu-Lifebook-A544-and-Lif.patch
### MM
###
# fixes some failing atomic allocations
mm-sl-au-b-add-__GFP_ATOMIC-to-the-GFP-reclaim-mask.patch
# tmpfs fix
mm-tmpfs-don-t-undo-fallocate-past-its-last-page.patch
###
### Network
###
@@ -236,6 +222,12 @@ net-netfilter-psd.patch
net-netfilter-psd-mdv.patch
net-netfilter-psd-2.6.35-buildfix.patch
# iwlwifi fixes
net-wireless-iwlwifi-add-new-8260-PCI-IDs.patch
net-wireless-iwlwifi-add-new-8265.patch
net-wireless-iwlwifi-pcie-enable-interrupts-before-releasing-the-NICs-CPU.patch
net-wireless-iwlwifi-pcie-fix-a-race-in-firmware-loading-flow.patch
###
### Platform drivers
###
@@ -324,6 +316,7 @@ video-mageia-logo.patch
3rd-ndiswrapper-1.60.patch
3rd-ndiswrapper-Kconfig.patch
3rd-ndiswrapper-Makefile-build-fix.patch
3rd-ndiswrapper-4.7-buildfix.patch
# rfswitch
3rd-rfswitch-1.3.patch
@@ -339,6 +332,7 @@ video-mageia-logo.patch
# add rtl8723bs support (mga#15874)
3rd-rtl8723bs.patch
3rd-rtl8723bs-4.7-buildfix.patch
###
### Security
+28 -14
View File
@@ -12,7 +12,7 @@
<IsA>kernel</IsA>
<Summary>The Linux kernel (the core of the Linux operating system) for Pisi Linux</Summary>
<Description>kernel contains the Linux kernel, the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc.</Description>
<Archive sha1sum="57cd77757651a05a2e63b2faac010fc17ce399e7" type="targz">https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.tar.gz</Archive>
<Archive sha1sum="36922e152e9268a68070577c613da502a6c3d577" type="targz">https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.7.tar.gz</Archive>
<AdditionalFiles>
<AdditionalFile target="configs/kernel-i686-config">configs/kernel-i686-config</AdditionalFile>
<AdditionalFile target="configs/kernel-x86_64-config">configs/kernel-x86_64-config</AdditionalFile>
@@ -28,8 +28,8 @@
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-4.6.3.xz</Patch>
<!-- Mageia Linux patches // compatible with http://svnweb.mageia.org/packages/cauldron/kernel/releases/4.6.3/1.mga6/PATCHES/patches/series-->
<!--Patch level="1" compressionType="xz">patches/linux/patch-4.6.3.xz</Patch-->
<!-- Mageia Linux patches // compatible with http://svnweb.mageia.org/packages/cauldron/kernel/releases/4.7.0/1.mga6/PATCHES/patches/series-->
<!--stable patches-->
<!--other patches-->
<Patch level="1">patches/mageia/Revert-ipmi-Start-the-timer-and-thread-on-internal-m.patch</Patch>
@@ -45,7 +45,6 @@
<Patch level="1">patches/mageia/acpi-CLEVO-M360S-disable_acpi_irq.patch</Patch>
<Patch level="1">patches/mageia/acpi-processor-M720SR-limit-to-C2.patch</Patch>
<Patch level="1">patches/mageia/ACPI-video-Add-a-quirk-to-force-acpi-video-backlight.patch</Patch>
<Patch level="1">patches/mageia/acpi-ACPICA-Namespace-Fix-deadlock-triggered-by-MLC-suppo.patch</Patch>
<!--Patch level="1">patches/mageia/scsi-ppscsi-2.6.2.patch</Patch>
<Patch level="1">patches/mageia/scsi-ppscsi_fixes.patch</Patch>
<Patch level="1">patches/mageia/scsi-ppscsi-sg-helper-update.patch</Patch>
@@ -59,8 +58,9 @@
<Patch level="1">patches/mageia/block-floppy-disable-pnp-modalias.patch</Patch>
<Patch level="1">patches/mageia/ata-prefer-ata-drivers-over-ide-drivers-when-both-are-built.patch</Patch>
<Patch level="1">patches/mageia/block-Make-CFQ-default-to-IOPS-mode-on-SSDs.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs-4.6.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs-4.6-modular.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs-4.7.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs-4.7-modular.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs-4.7-ver-fix.patch</Patch>
<Patch level="1">patches/mageia/firewire-ieee1394-module-aliases.patch</Patch>
<Patch level="1">patches/mageia/char-agp-intel-new-Q57-id.patch</Patch>
<!--remove external mach64 support for buildfix-->
@@ -80,11 +80,8 @@
<Patch level="1">patches/mageia/gpu-drm-mach64-restore-mach64_PCI_IDS.patch</Patch>
<Patch level="1">patches/mageia/gpu-drm-mach64-linux-3.14-buildfix.patch</Patch>
<Patch level="1">patches/mageia/gpu-drm-mach64-3.17-buildfix.patch</Patch>
<Patch level="1">patches/mageia/gpu-drm-mach64-3.18-buildfix.patch</Patch-->
<Patch level="1">patches/mageia/gpu-drm-i915-fbc-Disable-on-HSW-by-default-for-now.patch</Patch>
<Patch level="1">patches/mageia/gpu-drm-mach64-3.18-buildfix.patch</Patch--><!--1-->
<Patch level="1">patches/mageia/input-i8042-quirks-for-Fujitsu-Lifebook-A544-and-Lif.patch</Patch>
<Patch level="1">patches/mageia/mm-sl-au-b-add-__GFP_ATOMIC-to-the-GFP-reclaim-mask.patch</Patch>
<Patch level="1">patches/mageia/mm-tmpfs-don-t-undo-fallocate-past-its-last-page.patch</Patch>
<Patch level="1">patches/mageia/net-sis190-fix-list-usage.patch</Patch>
<Patch level="1">patches/mageia/net-netfilter-IFWLOG.patch</Patch>
<Patch level="1">patches/mageia/net-netfilter-IFWLOG-mdv.patch</Patch>
@@ -96,6 +93,10 @@
<Patch level="1">patches/mageia/net-netfilter-psd.patch</Patch>
<Patch level="1">patches/mageia/net-netfilter-psd-mdv.patch</Patch>
<Patch level="1">patches/mageia/net-netfilter-psd-2.6.35-buildfix.patch</Patch>
<Patch level="1">patches/mageia/net-wireless-iwlwifi-add-new-8260-PCI-IDs.patch</Patch>
<Patch level="1">patches/mageia/net-wireless-iwlwifi-add-new-8265.patch</Patch>
<Patch level="1">patches/mageia/net-wireless-iwlwifi-pcie-enable-interrupts-before-releasing-the-NICs-CPU.patch</Patch>
<Patch level="1">patches/mageia/net-wireless-iwlwifi-pcie-fix-a-race-in-firmware-loading-flow.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-add-shuttle-wmi-driver.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-drop-devinit-exit.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-4.2-buildfix.patch</Patch>
@@ -113,12 +114,14 @@
<Patch level="1">patches/mageia/3rd-acerhk-fix-build-with-function-tracer.patch</Patch>
<Patch level="1">patches/mageia/3rd-acerhk-2.6.36-buildfix.patch</Patch>
<Patch level="1">patches/mageia/3rd-acerhk-fix-include.patch</Patch>
<!--<Patch level="1">patches/mageia/3rd-aes2501-r19.patch</Patch>
<!--2-->
<!--Patch level="1">patches/mageia/3rd-aes2501-r19.patch</Patch>
<Patch level="1">patches/mageia/3rd-aes2501-kbuild.patch</Patch>
<Patch level="1">patches/mageia/3rd-aes2501-rmmod-oops-fix.patch</Patch -2-->
<Patch level="1">patches/mageia/3rd-aes2501-rmmod-oops-fix.patch</Patch--><!--2-->
<Patch level="1">patches/mageia/3rd-ndiswrapper-1.60.patch</Patch>
<Patch level="1">patches/mageia/3rd-ndiswrapper-Kconfig.patch</Patch>
<Patch level="1">patches/mageia/3rd-ndiswrapper-Makefile-build-fix.patch</Patch>
<Patch level="1">patches/mageia/3rd-ndiswrapper-4.7-buildfix.patch</Patch>
<Patch level="1">patches/mageia/3rd-rfswitch-1.3.patch</Patch>
<Patch level="1">patches/mageia/3rd-rfswitch-build-fix.patch</Patch>
<Patch level="1">patches/mageia/3rd-rfswitch-3.0-buildfix.patch</Patch>
@@ -128,8 +131,8 @@
<Patch level="1">patches/mageia/3rd-viahss-2.6.35-buildfix.patch</Patch>
<Patch level="1">patches/mageia/3rd-viahss-3.0-buildfix.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8723bs.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8723bs-4.7-buildfix.patch</Patch>
<Patch level="1">patches/mageia/ahci-add-new-Intel-device-IDs.patch</Patch>
<Patch level="1">patches/mageia/block-sd-Fix-rw_max-for-devices-that-report-an-optimal-xfe.patch</Patch>
<Patch level="1">patches/mageia/arm-0001-ARM-bcm2835-dt-Add-the-ethernet-to-the-device-trees.patch</Patch>
</Patches>
</Source>
@@ -140,7 +143,7 @@
<Dependency>pisi</Dependency>
<Dependency>linux-firmware</Dependency>
<Dependency>grub2</Dependency>
<Dependency>mkinitcpio</Dependency>
<!--Dependency>mkinitcpio</Dependency-->
</RuntimeDependencies>
<Files>
<Path fileType="executable" permanent="true">/boot</Path>
@@ -186,6 +189,17 @@
</Package>
<History>
<Update release="4">
<Date>2016-07-25</Date>
<Version>4.7.0</Version>
<Comment>Version Bump.</Comment>
<Type package="kernel">security</Type>
<Requires>
<Action package="kernel">systemRestart</Action>
</Requires>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2016-06-26</Date>
<Version>4.6.3</Version>
+10 -3
View File
@@ -12,13 +12,13 @@
<IsA>app:console</IsA>
<Summary>CPU power management tools</Summary>
<Description>cpupowertools contains utilities to manage power management and frequency scaling policies of modern CPUs.</Description>
<Archive sha1sum="57cd77757651a05a2e63b2faac010fc17ce399e7" type="targz">https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.tar.gz</Archive>
<Archive sha1sum="36922e152e9268a68070577c613da502a6c3d577" type="targz">https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.7.tar.gz</Archive>
<BuildDependencies>
<Dependency>pciutils-devel</Dependency>
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-4.6.3.xz</Patch>
<!--Linux patches-->
<!--Patch level="1" compressionType="xz">patches/linux/patch-4.6.3.xz</Patch-->
</Patches>
</Source>
@@ -44,6 +44,13 @@
</Provides>-->
</Package>
<History>
<Update release="4">
<Date>2016-07-25</Date>
<Version>4.7.0</Version>
<Comment>Release Bump</Comment>
<Name>PisiLinux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2016-06-28</Date>
<Version>4.6.3</Version>
+1 -5
View File
@@ -22,10 +22,6 @@ def cleanupPackage(metapath, filepath):
pass
def postCleanupPackage(metapath, filepath):
pass
pass