Re: [PATCH v5 02/18] platform/x86: intel_scu_ipc: Log more information if SCU IPC command fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 11, 2020 at 05:41:38PM +0200, Andy Shevchenko wrote:
> On Tue, Feb 11, 2020 at 04:25:47PM +0300, Mika Westerberg wrote:
> > Currently we only log an error if the command times out which makes it
> > hard to figure out the failing command. This changes the driver to log
> > command and subcommand with the error code which should make debugging
> > easier. This also allows us to simplify the callers as they don't need
> > to log these errors themselves.
> > 
> 
> Thanks, my comments below.
> 
> ...
> 
> >  	scu = ipcdev;
> > -	ipc_command(scu, sub << 12 | cmd);
> > +	cmdval = sub << 12 | cmd;
> > +	ipc_command(scu, cmdval);
> >  	err = intel_scu_ipc_check_status(scu);
> 
> > +	if (err)
> > +		dev_err(&scu->dev, "IPC command %#x failed with %d\n", cmdval,
> > +			err);
> 
> We may move it out of the mutex, right? Also, please keep it one line.

Yup.

> >  	mutex_unlock(&ipclock);
> >  	return err;
> 
> ...
> 
> >  	mutex_lock(&ipclock);
> 
> > +	cmdval = (inlen << 16) | (sub << 12) | cmd;
> > +	ipc_command(scu, cmdval);
> >  	err = intel_scu_ipc_check_status(scu);
> > -
> > -	if (!err) {
> > +	if (err) {
> > +		dev_err(&scu->dev, "IPC command %#x failed with %d\n", cmdval,
> > +			err);
> > +	} else {
> >  		for (i = 0; i < outlen; i++)
> >  			*out++ = ipc_data_readl(scu, 4 * i);
> >  	}
> 
> It's not visible in this context but it looks like above applies here as well.

You mean move outside of the lock? This one calls ipc_data_readl()
which should be under the lock.



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux