From: Johannes Berg <johannes.b...@intel.com>

commit aab6930d30d5176fe1ff38fe051a9fca2cac066d upstream.

This will help refactor this later.

Signed-off-by: Johannes Berg <johannes.b...@intel.com>
Signed-off-by: Luca Coelho <luciano.coe...@intel.com>
[adjust patch for newer patch used before this one]
Signed-off-by: Liwei Song <liwei.s...@windriver.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c  | 25 ++++++++++++++---------
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c |  2 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h      |  5 +++++
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c       | 14 ++++++-------
 4 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
index 402846650cbe..d95fbde28902 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
@@ -7,7 +7,7 @@
  *
  * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
  * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
- * Copyright(c) 2016 Intel Deutschland GmbH
+ * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
  *
  * 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
@@ -34,6 +34,7 @@
  *
  * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
  * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
+ * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -82,7 +83,8 @@ static ssize_t iwl_dbgfs_ctdp_budget_read(struct file *file,
        char buf[16];
        int pos, budget;
 
-       if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR)
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR)
                return -EIO;
 
        mutex_lock(&mvm->mutex);
@@ -102,7 +104,8 @@ static ssize_t iwl_dbgfs_stop_ctdp_write(struct iwl_mvm 
*mvm, char *buf,
 {
        int ret;
 
-       if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR)
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR)
                return -EIO;
 
        mutex_lock(&mvm->mutex);
@@ -118,7 +121,8 @@ static ssize_t iwl_dbgfs_tx_flush_write(struct iwl_mvm 
*mvm, char *buf,
        int ret;
        u32 scd_q_msk;
 
-       if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR)
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR)
                return -EIO;
 
        if (sscanf(buf, "%x", &scd_q_msk) != 1)
@@ -139,7 +143,8 @@ static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm 
*mvm, char *buf,
        struct iwl_mvm_sta *mvmsta;
        int sta_id, drain, ret;
 
-       if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR)
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR)
                return -EIO;
 
        if (sscanf(buf, "%d %d", &sta_id, &drain) != 2)
@@ -172,7 +177,7 @@ static ssize_t iwl_dbgfs_sram_read(struct file *file, char 
__user *user_buf,
        size_t ret;
        u8 *ptr;
 
-       if (!mvm->ucode_loaded)
+       if (!iwl_mvm_firmware_running(mvm))
                return -EINVAL;
 
        /* default is to dump the entire data segment */
@@ -205,7 +210,7 @@ static ssize_t iwl_dbgfs_sram_write(struct iwl_mvm *mvm, 
char *buf,
        u32 offset, len;
        u32 img_offset, img_len;
 
-       if (!mvm->ucode_loaded)
+       if (!iwl_mvm_firmware_running(mvm))
                return -EINVAL;
 
        img = &mvm->fw->img[mvm->cur_ucode];
@@ -258,7 +263,7 @@ static ssize_t iwl_dbgfs_set_nic_temperature_write(struct 
iwl_mvm *mvm,
 {
        int temperature;
 
-       if (!mvm->ucode_loaded && !mvm->temperature_test)
+       if (!iwl_mvm_firmware_running(mvm) && !mvm->temperature_test)
                return -EIO;
 
        if (kstrtoint(buf, 10, &temperature))
@@ -305,7 +310,7 @@ static ssize_t iwl_dbgfs_nic_temp_read(struct file *file,
        int pos, ret;
        s32 temp;
 
-       if (!mvm->ucode_loaded)
+       if (!iwl_mvm_firmware_running(mvm))
                return -EIO;
 
        mutex_lock(&mvm->mutex);
@@ -371,7 +376,7 @@ static ssize_t iwl_dbgfs_disable_power_off_write(struct 
iwl_mvm *mvm, char *buf,
 {
        int ret, val;
 
-       if (!mvm->ucode_loaded)
+       if (!iwl_mvm_firmware_running(mvm))
                return -EIO;
 
        if (!strncmp("disable_power_off_d0=", buf, 21)) {
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 95763ccb365f..d8d5b5e1f5ff 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -4045,7 +4045,7 @@ static int iwl_mvm_mac_get_survey(struct ieee80211_hw 
*hw, int idx,
 
        mutex_lock(&mvm->mutex);
 
-       if (mvm->ucode_loaded) {
+       if (iwl_mvm_firmware_running(mvm)) {
                ret = iwl_mvm_request_statistics(mvm, false);
                if (ret)
                        goto out;
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 
b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
index 78629899cc21..0274d8cd7be5 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
@@ -1099,6 +1099,11 @@ static inline bool iwl_mvm_is_radio_hw_killed(struct 
iwl_mvm *mvm)
        return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
 }
 
+static inline bool iwl_mvm_firmware_running(struct iwl_mvm *mvm)
+{
+       return mvm->ucode_loaded;
+}
+
 /* Must be called with rcu_read_lock() held and it can only be
  * released when mvmsta is not needed anymore.
  */
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
index 506d58104e1c..e0adc0c3c737 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
@@ -628,7 +628,8 @@ static int iwl_mvm_tzone_get_temp(struct 
thermal_zone_device *device,
 
        mutex_lock(&mvm->mutex);
 
-       if (!mvm->ucode_loaded || !(mvm->cur_ucode == IWL_UCODE_REGULAR)) {
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR) {
                ret = -EIO;
                goto out;
        }
@@ -678,7 +679,8 @@ static int iwl_mvm_tzone_set_trip_temp(struct 
thermal_zone_device *device,
 
        mutex_lock(&mvm->mutex);
 
-       if (!mvm->ucode_loaded || !(mvm->cur_ucode == IWL_UCODE_REGULAR)) {
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR) {
                ret = -EIO;
                goto out;
        }
@@ -792,16 +794,12 @@ static int iwl_mvm_tcool_set_cur_state(struct 
thermal_cooling_device *cdev,
 
        mutex_lock(&mvm->mutex);
 
-       if (!mvm->ucode_loaded || !(mvm->cur_ucode == IWL_UCODE_REGULAR)) {
+       if (!iwl_mvm_firmware_running(mvm) ||
+           mvm->cur_ucode != IWL_UCODE_REGULAR) {
                ret = -EIO;
                goto unlock;
        }
 
-       if (new_state >= ARRAY_SIZE(iwl_mvm_cdev_budgets)) {
-               ret = -EINVAL;
-               goto unlock;
-       }
-
        ret = iwl_mvm_ctdp_command(mvm, CTDP_CMD_OPERATION_START,
                                   new_state);
 
-- 
2.7.4

-- 
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to