aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2017-08-22 23:59:48 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2017-10-01 12:49:11 +0200
commita8f63a0717f553e0a1b37ee9212fc4cb2a801426 (patch)
tree9016b975706f35b98075167f2cf6b15add308c9b /package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch
parent1114f5dc10755e3c92b5711b420818cf9e366874 (diff)
downloadupstream-a8f63a0717f553e0a1b37ee9212fc4cb2a801426.tar.gz
upstream-a8f63a0717f553e0a1b37ee9212fc4cb2a801426.tar.bz2
upstream-a8f63a0717f553e0a1b37ee9212fc4cb2a801426.zip
mac80211: update to backports-4.14-rc2
This updates mac80211 to backprots-4.14-rc2. This was compile and runtime tested with ath9k, ath10k and b43 with multiple stations and ieee80211w and in different scenarios by many other people. To create the backports-4.14-rc2-1.tar.xz use this repository: https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git from tag v4.14-rc2-1 Then run this: ./gentree.py --git-revision v4.14-rc2 --clean <path to linux repo> ../backports-4.14-rc2-1 This also adapts the ath10k-ct and mt76 driver to the changed cfg80211 APIs and syncs the nl80211.h file in iw with the new version from backports-4.14-rc2. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch')
-rw-r--r--package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch148
1 files changed, 0 insertions, 148 deletions
diff --git a/package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch b/package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch
deleted file mode 100644
index 7272b889c0..0000000000
--- a/package/kernel/mac80211/patches/323-0002-brcmfmac-always-print-error-when-PSM-s-watchdog-fire.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From f1ac3aa212af6dd0a36dc07a63f95f91be6f4935 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Fri, 24 Feb 2017 17:32:46 +0100
-Subject: [PATCH] brcmfmac: always print error when PSM's watchdog fires
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-So far we were attaching BRCMF_E_PSM_WATCHDOG event listener in
-brcmf_debug_attach which gets compiled only with CONFIG_BRCMDBG. This
-event means something went wrong and firmware / hardware usually can't
-be expected to work (reliably).
-
-Such a problem is significant for user experience so I believe we should
-print an error unconditionally (even with debugging disabled). What can
-be indeed optional is dumping bus memory as this is clearly part of
-debugging process.
-
-In the future we may also try to extend this listener by trying to
-recover from the error or at least signal it to the cfg80211.
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
----
- .../wireless/broadcom/brcm80211/brcmfmac/core.c | 22 ++++++++++++++++++
- .../wireless/broadcom/brcm80211/brcmfmac/debug.c | 26 +++-------------------
- .../wireless/broadcom/brcm80211/brcmfmac/debug.h | 9 ++++++++
- 3 files changed, 34 insertions(+), 23 deletions(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-@@ -738,6 +738,24 @@ void brcmf_remove_interface(struct brcmf
- brcmf_del_if(ifp->drvr, ifp->bsscfgidx, rtnl_locked);
- }
-
-+static int brcmf_psm_watchdog_notify(struct brcmf_if *ifp,
-+ const struct brcmf_event_msg *evtmsg,
-+ void *data)
-+{
-+ int err;
-+
-+ brcmf_dbg(TRACE, "enter: bsscfgidx=%d\n", ifp->bsscfgidx);
-+
-+ brcmf_err("PSM's watchdog has fired!\n");
-+
-+ err = brcmf_debug_create_memdump(ifp->drvr->bus_if, data,
-+ evtmsg->datalen);
-+ if (err)
-+ brcmf_err("Failed to get memory dump, %d\n", err);
-+
-+ return err;
-+}
-+
- #ifdef CONFIG_INET
- #define ARPOL_MAX_ENTRIES 8
- static int brcmf_inetaddr_changed(struct notifier_block *nb,
-@@ -917,6 +935,10 @@ int brcmf_attach(struct device *dev, str
- goto fail;
- }
-
-+ /* Attach to events important for core code */
-+ brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
-+ brcmf_psm_watchdog_notify);
-+
- /* attach firmware event handler */
- brcmf_fweh_attach(drvr);
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c
-@@ -27,8 +27,8 @@
-
- static struct dentry *root_folder;
-
--static int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
-- size_t len)
-+int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
-+ size_t len)
- {
- void *dump;
- size_t ramsize;
-@@ -54,24 +54,6 @@ static int brcmf_debug_create_memdump(st
- return 0;
- }
-
--static int brcmf_debug_psm_watchdog_notify(struct brcmf_if *ifp,
-- const struct brcmf_event_msg *evtmsg,
-- void *data)
--{
-- int err;
--
-- brcmf_dbg(TRACE, "enter: bsscfgidx=%d\n", ifp->bsscfgidx);
--
-- brcmf_err("PSM's watchdog has fired!\n");
--
-- err = brcmf_debug_create_memdump(ifp->drvr->bus_if, data,
-- evtmsg->datalen);
-- if (err)
-- brcmf_err("Failed to get memory dump, %d\n", err);
--
-- return err;
--}
--
- void brcmf_debugfs_init(void)
- {
- root_folder = debugfs_create_dir(KBUILD_MODNAME, NULL);
-@@ -99,9 +81,7 @@ int brcmf_debug_attach(struct brcmf_pub
- if (IS_ERR(drvr->dbgfs_dir))
- return PTR_ERR(drvr->dbgfs_dir);
-
--
-- return brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
-- brcmf_debug_psm_watchdog_notify);
-+ return 0;
- }
-
- void brcmf_debug_detach(struct brcmf_pub *drvr)
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
-@@ -99,6 +99,7 @@ do { \
-
- extern int brcmf_msg_level;
-
-+struct brcmf_bus;
- struct brcmf_pub;
- #ifdef DEBUG
- void brcmf_debugfs_init(void);
-@@ -108,6 +109,8 @@ void brcmf_debug_detach(struct brcmf_pub
- struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr);
- int brcmf_debugfs_add_entry(struct brcmf_pub *drvr, const char *fn,
- int (*read_fn)(struct seq_file *seq, void *data));
-+int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
-+ size_t len);
- #else
- static inline void brcmf_debugfs_init(void)
- {
-@@ -128,6 +131,12 @@ int brcmf_debugfs_add_entry(struct brcmf
- {
- return 0;
- }
-+static inline
-+int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
-+ size_t len)
-+{
-+ return 0;
-+}
- #endif
-
- #endif /* BRCMFMAC_DEBUG_H */