iwlwifi: pcie: initialize debug_rfkill to -1
authorJohannes Berg <johannes.berg@intel.com>
Mon, 25 Mar 2019 12:19:56 +0000 (13:19 +0100)
committerLuca Coelho <luciano.coelho@intel.com>
Mon, 29 Apr 2019 15:42:44 +0000 (18:42 +0300)
This will let us introduce a mechanism to start with rfkill
faked, and put 0 here to override it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/internal.h
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

index 1f1594e136c536c7eb96d6d89421f497723736d4..b513037dc0661e9eaae98f162841fbbe2e86e779 100644 (file)
@@ -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) &
index 717b9b5be157ec215e5426f4772114be5675d5c0..d638f41efcdd3cd3d513bfbf44d833254c019df9 100644 (file)
@@ -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) {
                /*