From: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@xxxxxxxxx> The WIPHY_DEBUGFS_READ_WRITE_FILE_OPS_MLD macro is intended to call read/write handlers with the wiphy lock held. However, the current implementation uses the MLD_DEBUGFS_READ_WRAPPER macro, which does not hold the wiphy lock during read operations. This fix updates the WIPHY_DEBUGFS_READ_WRITE_FILE_OPS_MLD macro to use the WIPHY_DEBUGFS_READ_WRAPPER_MLD macro instead, ensuring that the wiphy lock is held during both read and write operations. Signed-off-by: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@xxxxxxxxx> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@xxxxxxxxx> --- drivers/net/wireless/intel/iwlwifi/mld/debugfs.c | 3 +-- drivers/net/wireless/intel/iwlwifi/mld/debugfs.h | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/debugfs.c b/drivers/net/wireless/intel/iwlwifi/mld/debugfs.c index 1d4b2ad5d388..c67dbbf575d7 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/debugfs.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/debugfs.c @@ -178,8 +178,7 @@ iwl_dbgfs_he_sniffer_params_write(struct iwl_mld *mld, char *buf, } static ssize_t -iwl_dbgfs_he_sniffer_params_read(struct iwl_mld *mld, size_t count, - char *buf) +iwl_dbgfs_he_sniffer_params_read(struct iwl_mld *mld, char *buf, size_t count) { return scnprintf(buf, count, "%d %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx\n", diff --git a/drivers/net/wireless/intel/iwlwifi/mld/debugfs.h b/drivers/net/wireless/intel/iwlwifi/mld/debugfs.h index 900aaed90775..eeba35342ba1 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/debugfs.h +++ b/drivers/net/wireless/intel/iwlwifi/mld/debugfs.h @@ -204,10 +204,10 @@ static ssize_t __iwl_dbgfs_##name##_read(struct file *file, \ #define WIPHY_DEBUGFS_READ_WRITE_FILE_OPS_MLD(name, bufsz) \ MLD_DEBUGFS_OPEN_WRAPPER(name, bufsz, struct iwl_mld) \ WIPHY_DEBUGFS_WRITE_WRAPPER_MLD(name) \ - MLD_DEBUGFS_READ_WRAPPER(name) \ + WIPHY_DEBUGFS_READ_WRAPPER_MLD(name) \ static const struct file_operations iwl_dbgfs_##name##_ops = { \ .write = __iwl_dbgfs_##name##_write, \ - .read = _iwl_dbgfs_##name##_read, \ + .read = __iwl_dbgfs_##name##_read, \ .open = _iwl_dbgfs_##name##_open, \ .llseek = generic_file_llseek, \ .release = _iwl_dbgfs_release, \ -- 2.34.1