From: Johannes Berg <[email protected]>

This will let us introduce a mechanism to start with rfkill
faked, and put 0 here to override it.

Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
 drivers/net/wireless/intel/iwlwifi/pcie/internal.h |  4 ++--
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c    | 11 ++++++-----
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h 
b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
index 1f1594e136c5..b513037dc066 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
@@ -536,7 +536,7 @@ struct iwl_trans_pcie {
        int ict_index;
        bool use_ict;
        bool is_down, opmode_down;
-       bool debug_rfkill;
+       s8 debug_rfkill;
        struct isr_statistics isr_stats;
 
        spinlock_t irq_lock;
@@ -982,7 +982,7 @@ static inline bool iwl_is_rfkill_set(struct iwl_trans 
*trans)
 
        lockdep_assert_held(&trans_pcie->mutex);
 
-       if (trans_pcie->debug_rfkill)
+       if (trans_pcie->debug_rfkill == 1)
                return true;
 
        return !(iwl_read32(trans, CSR_GP_CNTRL) &
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c 
b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index 717b9b5be157..d638f41efcdd 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
@@ -2688,16 +2688,17 @@ static ssize_t iwl_dbgfs_rfkill_write(struct file *file,
 {
        struct iwl_trans *trans = file->private_data;
        struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
-       bool old = trans_pcie->debug_rfkill;
+       bool new_value;
        int ret;
 
-       ret = kstrtobool_from_user(user_buf, count, &trans_pcie->debug_rfkill);
+       ret = kstrtobool_from_user(user_buf, count, &new_value);
        if (ret)
                return ret;
-       if (old == trans_pcie->debug_rfkill)
+       if (new_value == trans_pcie->debug_rfkill)
                return count;
        IWL_WARN(trans, "changing debug rfkill %d->%d\n",
-                old, trans_pcie->debug_rfkill);
+                trans_pcie->debug_rfkill, new_value);
+       trans_pcie->debug_rfkill = new_value;
        iwl_pcie_handle_rfkill_irq(trans);
 
        return count;
@@ -3421,7 +3422,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev 
*pdev,
                ret = -ENOMEM;
                goto out_no_pci;
        }
-
+       trans_pcie->debug_rfkill = -1;
 
        if (!cfg->base_params->pcie_l1_allowed) {
                /*
-- 
2.20.1

Reply via email to