Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> writes: > +static ssize_t ath10k_reg_value_read(struct file *file, > + char __user *user_buf, > + size_t count, loff_t *ppos) > +{ > + struct ath10k *ar = file->private_data; > + u8 buf[48]; > + unsigned int len; > + u32 reg_addr, reg_val; > + > + spin_lock_bh(&ar->data_lock); > + reg_addr = ar->debug.reg_addr; > + spin_unlock_bh(&ar->data_lock); > + > + reg_val = ath10k_hif_read32(ar, reg_addr); > + len = scnprintf(buf, sizeof(buf), "0x%08x:0x%08x\n", reg_addr, reg_val); > + > + return simple_read_from_buffer(user_buf, count, ppos, buf, len); > +} I just realised that we need to check ar->state to make sure that firmware is running. Because of that I'll need to change the data_lock to conf_mutex as well. > +static ssize_t ath10k_reg_value_write(struct file *file, > + const char __user *user_buf, > + size_t count, loff_t *ppos) > +{ > + struct ath10k *ar = file->private_data; > + u32 reg_addr, reg_val; > + int ret; > + > + spin_lock_bh(&ar->data_lock); > + reg_addr = ar->debug.reg_addr; > + spin_unlock_bh(&ar->data_lock); > + > + ret = kstrtou32_from_user(user_buf, count, 0, ®_val); > + if (ret) > + return ret; > + > + ath10k_hif_write32(ar, reg_addr, reg_val); > + > + return count; > +} And same here as well. I'll send v3. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html