struct iwl_mvm_sniffer_apply {
        struct iwl_mvm *mvm;
+       u8 *bssid;
        u16 aid;
 };
 
        struct iwl_mvm_sniffer_apply *apply = data;
 
        apply->mvm->cur_aid = cpu_to_le16(apply->aid);
+       memcpy(apply->mvm->cur_bssid, apply->bssid,
+              sizeof(apply->mvm->cur_bssid));
 
        return true;
 }
        he_mon_cmd.aid = cpu_to_le16(aid);
 
        apply.aid = aid;
+       apply.bssid = (void *)he_mon_cmd.bssid;
 
        mutex_lock(&mvm->mutex);
 
        return ret ?: count;
 }
 
+static ssize_t
+iwl_dbgfs_he_sniffer_params_read(struct file *file, char __user *user_buf,
+                                size_t count, loff_t *ppos)
+{
+       struct iwl_mvm *mvm = file->private_data;
+       u8 buf[32];
+       int len;
+
+       len = scnprintf(buf, sizeof(buf),
+                       "%d %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx\n",
+                       le16_to_cpu(mvm->cur_aid), mvm->cur_bssid[0],
+                       mvm->cur_bssid[1], mvm->cur_bssid[2], mvm->cur_bssid[3],
+                       mvm->cur_bssid[4], mvm->cur_bssid[5]);
+
+       return simple_read_from_buffer(user_buf, count, ppos, buf, len);
+}
+
 static ssize_t
 iwl_dbgfs_uapsd_noagg_bssids_read(struct file *file, char __user *user_buf,
                                  size_t count, loff_t *ppos)
 MVM_DEBUGFS_READ_FILE_OPS(sar_geo_profile);
 #endif
 
-MVM_DEBUGFS_WRITE_FILE_OPS(he_sniffer_params, 32);
+MVM_DEBUGFS_READ_WRITE_FILE_OPS(he_sniffer_params, 32);
 
 static ssize_t iwl_dbgfs_mem_read(struct file *file, char __user *user_buf,
                                  size_t count, loff_t *ppos)
 #ifdef CONFIG_ACPI
        MVM_DEBUGFS_ADD_FILE(sar_geo_profile, dbgfs_dir, 0400);
 #endif
-       MVM_DEBUGFS_ADD_FILE(he_sniffer_params, mvm->debugfs_dir, 0200);
+       MVM_DEBUGFS_ADD_FILE(he_sniffer_params, mvm->debugfs_dir, 0600);
 
        if (!debugfs_create_bool("enable_scan_iteration_notif",
                                 0600,