diff mbox

[PATCH-RESEND] ath10k: add log level configuration for fw_dbglog

Message ID 87vbjp2219.fsf@kamboji.qca.qualcomm.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Kalle Valo Jan. 29, 2015, 12:40 p.m. UTC
SenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com> writes:

> Introduce optional log level configuration for
> existing debugfs fw_dbglog.
>
> It allow users to configure desired log level
> for firmware debugs.
>
> To configure log level as WARN
>
> echo 0xffffffff  2 > /sys/kernel/debug/ieee80211/phy0/ath10k/fw_dbglog
>
> Loglevel	Value
> VERBOSE		0
> INFO		1
> WARN		2
> ERR		3
>
> Signed-off-by: SenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com>

I did cosmetic changes to the log in the pending branch.

> @@ -1331,19 +1331,30 @@ static ssize_t ath10k_write_fw_dbglog(struct file *file,
>  				      size_t count, loff_t *ppos)
>  {
>  	struct ath10k *ar = file->private_data;
> -	unsigned long mask;
>  	int ret;
> +	char buf[64];
> +	unsigned int log_level, mask;
>
> -	ret = kstrtoul_from_user(user_buf, count, 0, &mask);
> -	if (ret)
> -		return ret;
> +	simple_write_to_buffer(buf, sizeof(buf) - 1, ppos, user_buf, count);
> +
> +	/* make sure that buf is null terminated */
> +	buf[sizeof(buf) - 1] = 0;
> +
> +	ret = sscanf(buf, "%x %u", &mask, &log_level);
> +
> +	if (!ret)
> +		return -EINVAL;
>
>  	mutex_lock(&ar->conf_mutex);
>
>  	ar->debug.fw_dbglog_mask = mask;
> +	ar->debug.fw_dbglog_level = (ret == 1) ? ATH10K_DBGLOG_LEVEL_WARN :
> +				     log_level;

And I simplified this a bit, please review. Full patch in pending
branch.

Comments

SenthilKumar Jegadeesan Jan. 29, 2015, 1:19 p.m. UTC | #1
On Thu, Jan 29, 2015 at 02:40:18PM +0200, Kalle Valo wrote:
> SenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com> writes:
> 
> > Introduce optional log level configuration for
> > existing debugfs fw_dbglog.
> >
> > It allow users to configure desired log level
> > for firmware debugs.
> >
> > To configure log level as WARN
> >
> > echo 0xffffffff  2 > /sys/kernel/debug/ieee80211/phy0/ath10k/fw_dbglog
> >
> > Loglevel	Value
> > VERBOSE		0
> > INFO		1
> > WARN		2
> > ERR		3
> >
> > Signed-off-by: SenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com>
> 
> I did cosmetic changes to the log in the pending branch.
> 
> > @@ -1331,19 +1331,30 @@ static ssize_t ath10k_write_fw_dbglog(struct file *file,
> >  				      size_t count, loff_t *ppos)
> >  {
> >  	struct ath10k *ar = file->private_data;
> > -	unsigned long mask;
> >  	int ret;
> > +	char buf[64];
> > +	unsigned int log_level, mask;
> >
> > -	ret = kstrtoul_from_user(user_buf, count, 0, &mask);
> > -	if (ret)
> > -		return ret;
> > +	simple_write_to_buffer(buf, sizeof(buf) - 1, ppos, user_buf, count);
> > +
> > +	/* make sure that buf is null terminated */
> > +	buf[sizeof(buf) - 1] = 0;
> > +
> > +	ret = sscanf(buf, "%x %u", &mask, &log_level);
> > +
> > +	if (!ret)
> > +		return -EINVAL;
> >
> >  	mutex_lock(&ar->conf_mutex);
> >
> >  	ar->debug.fw_dbglog_mask = mask;
> > +	ar->debug.fw_dbglog_level = (ret == 1) ? ATH10K_DBGLOG_LEVEL_WARN :
> > +				     log_level;
> 
> And I simplified this a bit, please review. Full patch in pending
> branch.
>

I have looked at the changes in pending branch, it looks good.

Thanks,
SenthilJ 
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -1345,12 +1345,14 @@  static ssize_t ath10k_write_fw_dbglog(struct file *file,
        if (!ret)
                return -EINVAL;
 
+       if (ret == 1)
+               /* default if user did not specify */
+               log_level = ATH10K_DBGLOG_LEVEL_WARN;
+
        mutex_lock(&ar->conf_mutex);
 
        ar->debug.fw_dbglog_mask = mask;
-       ar->debug.fw_dbglog_level = (ret == 1) ? ATH10K_DBGLOG_LEVEL_WARN :
-                                    log_level;
-
+       ar->debug.fw_dbglog_level = log_level;
 
        if (ar->state == ATH10K_STATE_ON) {
                ret = ath10k_wmi_dbglog_cfg(ar, ar->debug.fw_dbglog_mask,