@@ -1396,15 +1396,20 @@ int ath10k_debug_start(struct ath10k *ar)
ret);
}
- if (ar->debug.pktlog_filter)
+ if (ar->debug.pktlog_filter) {
ret = ath10k_wmi_pdev_pktlog_enable(ar,
ar->debug.pktlog_filter);
- else
+ if (ret)
+ /* not serious */
+ ath10k_warn(ar,
+ "failed to enable pktlog filter %x: %d",
+ ar->debug.pktlog_filter, ret);
+ } else {
ret = ath10k_wmi_pdev_pktlog_disable(ar);
-
- if (ret)
- ath10k_warn(ar, "failed to send pktlog command: %d filter %x",
- ret, ar->debug.pktlog_filter);
+ if (ret)
+ /* not serious */
+ ath10k_warn(ar, "failed to disable pktlog: %d", ret);
+ }
return ret;
}
@@ -1520,23 +1525,31 @@ static ssize_t ath10k_write_pktlog_filter(struct file *file,
if (ar->state != ATH10K_STATE_ON) {
ar->debug.pktlog_filter = filter;
- mutex_unlock(&ar->conf_mutex);
- return count;
+ ret = count;
+ goto out;
}
- if (filter && (filter != ar->debug.pktlog_filter))
+ if (filter && (filter != ar->debug.pktlog_filter)) {
ret = ath10k_wmi_pdev_pktlog_enable(ar, filter);
- else
+ if (ret) {
+ ath10k_warn(ar, "failed to enable pktlog filter %x: %d",
+ ar->debug.pktlog_filter, ret);
+ goto out;
+ }
+ } else {
ret = ath10k_wmi_pdev_pktlog_disable(ar);
+ if (ret) {
+ ath10k_warn(ar, "failed to disable pktlog: %d", ret);
+ goto out;
+ }
+ }
ar->debug.pktlog_filter = filter;
- mutex_unlock(&ar->conf_mutex);
-
- if (ret)
- ath10k_warn(ar, "failed to send pktlog command: %d filter %x",
- ret, ar->debug.pktlog_filter);
+ ret = count;
- return count;
+out:
+ mutex_unlock(&ar->conf_mutex);
+ return ret;
}
static ssize_t ath10k_read_pktlog_filter(struct file *file, char __user *ubuf,