aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/005-revert-devcoredump.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-02-24 11:57:27 +0100
committerFelix Fietkau <nbd@nbd.name>2017-02-24 12:22:29 +0100
commit703515f889124248480f39d65f8704548cbf1c09 (patch)
treecd06f11ec2cc4e6ddb75c8982ecaab9882d3a9ed /package/kernel/mac80211/patches/005-revert-devcoredump.patch
parentd27dd6298b0f9a66199758b32ce19c0932ef2ee0 (diff)
downloadupstream-703515f889124248480f39d65f8704548cbf1c09.tar.gz
upstream-703515f889124248480f39d65f8704548cbf1c09.tar.bz2
upstream-703515f889124248480f39d65f8704548cbf1c09.zip
mac80211: sync with master branch as of 9edff13abd97
Includes the following changes: 9edff13abd mac80211: disable potentially harmful PS software retry for A-MPDU sessions 75216a76b0 mac80211: backport upstream fix for CSA in IBSS mode 368cc8ef47 mac80211: update brcmfmac backporting brcmf_err cleanups 66a63d25c4 mac80211: fix build on linux 3.18 9eacb9d7fc rt2x00: mt7620: lots of improvements fd94fa61a7 mac80211: brcmfmac: update Raspberry Pi patches for linux 4.9 649e766a64 mac80211: update to wireless-testing 2017-01-31 47540afa5d ath9k: add a warning to the tx99 config option b367eef21d mac80211: rt2x00: add support for external LNA on MT7620 9200e168f2 mac80211: move (& update) upstream accepted brcmfmac patches Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211/patches/005-revert-devcoredump.patch')
-rw-r--r--package/kernel/mac80211/patches/005-revert-devcoredump.patch152
1 files changed, 152 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/005-revert-devcoredump.patch b/package/kernel/mac80211/patches/005-revert-devcoredump.patch
new file mode 100644
index 0000000000..ff460900ff
--- /dev/null
+++ b/package/kernel/mac80211/patches/005-revert-devcoredump.patch
@@ -0,0 +1,152 @@
+--- a/compat/Makefile
++++ b/compat/Makefile
+@@ -35,8 +35,6 @@ compat-$(CPTCFG_KERNEL_4_6) += backport-
+
+ compat-$(CPTCFG_BPAUTO_BUILD_CRYPTO_CCM) += crypto-ccm.o
+ compat-$(CPTCFG_BPAUTO_CRYPTO_SKCIPHER) += crypto-skcipher.o
+-skcipher-objs += crypto-skcipher.o
+-obj-$(CPTCFG_BPAUTO_CRYPTO_SKCIPHER) += skcipher.o
+ compat-$(CPTCFG_BPAUTO_BUILD_WANT_DEV_COREDUMP) += drivers-base-devcoredump.o
+ compat-$(CPTCFG_BPAUTO_RHASHTABLE) += lib-rhashtable.o
+ cordic-objs += lib-cordic.o
+--- a/compat/drivers-base-devcoredump.c
++++ b/compat/drivers-base-devcoredump.c
+@@ -31,6 +31,7 @@
+ #include <linux/slab.h>
+ #include <linux/fs.h>
+ #include <linux/workqueue.h>
++#include "backports.h"
+
+ static struct class devcd_class;
+
+@@ -40,6 +41,10 @@ static bool devcd_disabled;
+ /* if data isn't read by userspace after 5 minutes then delete it */
+ #define DEVCD_TIMEOUT (HZ * 60 * 5)
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
++static struct bin_attribute devcd_attr_data;
++#endif
++
+ struct devcd_entry {
+ struct device devcd_dev;
+ void *data;
+@@ -69,8 +74,7 @@ static void devcd_dev_release(struct dev
+ * a struct device to know when it goes away?
+ */
+ if (devcd->failing_dev->kobj.sd)
+- sysfs_delete_link(&devcd->failing_dev->kobj, &dev->kobj,
+- "devcoredump");
++ sysfs_remove_link(&devcd->failing_dev->kobj, "devcoredump");
+
+ put_device(devcd->failing_dev);
+ kfree(devcd);
+@@ -82,6 +86,9 @@ static void devcd_del(struct work_struct
+
+ devcd = container_of(wk, struct devcd_entry, del_wk.work);
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
++ device_remove_bin_file(&devcd->devcd_dev, &devcd_attr_data);
++#endif
+ device_del(&devcd->devcd_dev);
+ put_device(&devcd->devcd_dev);
+ }
+@@ -115,6 +122,7 @@ static struct bin_attribute devcd_attr_d
+ .write = devcd_data_write,
+ };
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
+ static struct bin_attribute *devcd_dev_bin_attrs[] = {
+ &devcd_attr_data, NULL,
+ };
+@@ -126,6 +134,7 @@ static const struct attribute_group devc
+ static const struct attribute_group *devcd_dev_groups[] = {
+ &devcd_dev_group, NULL,
+ };
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0) */
+
+ static int devcd_free(struct device *dev, void *data)
+ {
+@@ -160,18 +169,11 @@ static ssize_t disabled_store(struct cla
+
+ return count;
+ }
+-static CLASS_ATTR_RW(disabled);
+
+-static struct attribute *devcd_class_attrs[] = {
+- &class_attr_disabled.attr,
+- NULL,
++static struct class_attribute devcd_class_attrs[] = {
++ __ATTR_RW(disabled),
++ __ATTR_NULL
+ };
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
+-ATTRIBUTE_GROUPS(devcd_class);
+-#else
+-#define BP_ATTR_GRP_STRUCT device_attribute
+-ATTRIBUTE_GROUPS_BACKPORT(devcd_class);
+-#endif
+
+ static struct class devcd_class = {
+ .name = "devcoredump",
+@@ -179,10 +181,8 @@ static struct class devcd_class = {
+ .dev_release = devcd_dev_release,
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
+ .dev_groups = devcd_dev_groups,
+-#else
+- .dev_attrs = devcd_class_dev_attrs,
+ #endif
+- .class_groups = devcd_class_groups,
++ .class_attrs = devcd_class_attrs,
+ };
+
+ static ssize_t devcd_readv(char *buffer, loff_t offset, size_t count,
+@@ -325,6 +325,11 @@ void dev_coredumpm(struct device *dev, s
+ if (device_add(&devcd->devcd_dev))
+ goto put_device;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
++ if (device_create_bin_file(&devcd->devcd_dev, &devcd_attr_data))
++ goto put_device;
++#endif
++
+ if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
+ "failing_device"))
+ /* nothing - symlink will be missing */;
+@@ -367,16 +372,13 @@ void dev_coredumpsg(struct device *dev,
+ }
+ EXPORT_SYMBOL_GPL(dev_coredumpsg);
+
+-static int __init devcoredump_init(void)
++int __init devcoredump_init(void)
+ {
+- init_devcd_class_attrs();
+ return class_register(&devcd_class);
+ }
+-__initcall(devcoredump_init);
+
+-static void __exit devcoredump_exit(void)
++void __exit devcoredump_exit(void)
+ {
+ class_for_each_device(&devcd_class, NULL, NULL, devcd_free);
+ class_unregister(&devcd_class);
+ }
+-__exitcall(devcoredump_exit);
+--- a/include/linux/backport-devcoredump.h
++++ b/include/linux/backport-devcoredump.h
+@@ -66,7 +66,7 @@ static inline void _devcd_free_sgtable(s
+ }
+
+
+-#ifdef CONFIG_DEV_COREDUMP
++#ifdef CPTCFG_BPAUTO_WANT_DEV_COREDUMP
+ void dev_coredumpv(struct device *dev, void *data, size_t datalen,
+ gfp_t gfp);
+
+@@ -100,6 +100,6 @@ static inline void dev_coredumpsg(struct
+ {
+ _devcd_free_sgtable(table);
+ }
+-#endif /* CONFIG_DEV_COREDUMP */
++#endif /* CPTCFG_BPAUTO_WANT_DEV_COREDUMP */
+
+ #endif /* __DEVCOREDUMP_H */