diff options
| author | Mordechay Goodstein <mordechay.goodstein@intel.com> | 2020-04-24 18:48:15 +0300 | 
|---|---|---|
| committer | Luca Coelho <luciano.coelho@intel.com> | 2020-05-08 09:51:00 +0300 | 
| commit | a65a5824298b06049dbaceb8a9bd19709dc9507c (patch) | |
| tree | 873d5c6aa1b54c0576793d1318df1fcac6c77e09 /drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | |
| parent | 9617040ecab4810363ccab81aac1de3725675c9b (diff) | |
iwlwifi: avoid debug max amsdu config overwriting itself
If we set amsdu_len one after another the second one overwrites
the orig_amsdu_len so allow only moving from debug to non debug state.
Also the TLC update check was wrong: it was checking that also the orig
is smaller then the new updated size, which is not the case in debug
amsdu mode.
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Fixes: af2984e9e625 ("iwlwifi: mvm: add a debugfs entry to set a fixed size AMSDU for all TX packets")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200424182644.e565446a4fce.I9729d8c520d8b8bb4de9a5cdc62e01eb85168aac@changeid
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c index 3beef8d077b8..8fae7e707374 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c @@ -5,10 +5,9 @@   *   * GPL LICENSE SUMMARY   * - * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.   * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH   * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2012 - 2014, 2018 - 2020 Intel Corporation   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of version 2 of the GNU General Public License as @@ -28,10 +27,9 @@   *   * BSD LICENSE   * - * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.   * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH   * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2012 - 2014, 2018 - 2020 Intel Corporation   * All rights reserved.   *   * Redistribution and use in source and binary forms, with or without @@ -481,6 +479,11 @@ static ssize_t iwl_dbgfs_amsdu_len_write(struct ieee80211_sta *sta,  	if (kstrtou16(buf, 0, &amsdu_len))  		return -EINVAL; +	/* only change from debug set <-> debug unset */ +	if ((amsdu_len && mvmsta->orig_amsdu_len) || +	    (!!amsdu_len && mvmsta->orig_amsdu_len)) +		return -EBUSY; +  	if (amsdu_len) {  		mvmsta->orig_amsdu_len = sta->max_amsdu_len;  		sta->max_amsdu_len = amsdu_len;  | 
