Re: [PATCH] ioat: fail self-test if wait_for_completion times out

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

 



On Mon, 05 Jan 2015, Jiang, Dave wrote:

> 
> 
> 
> On Sun, 2014-12-28 at 10:37 +0000, Nicholas Mc Guire wrote:
> > wait_for_completion_timeout reaching timeout was being ignored,
> > fail the self-test if timeout condition occurs.
> > 
> > Not sure about the indentations used (CodingStyle:Chapter 2)
> > 
> > this was only compile tested with
> > x86_64_defconfig + CONFIG_DMA_ENGINE=y + CONFIG_INTEL_IOATDMA=y
> > 
> > patch is against linux-next 3.19.0-rc1 -next-20141226
> > 
> > Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx>
> > ---
> >  drivers/dma/ioat/dma_v3.c |    9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c
> > index be307182..0659215 100644
> > --- a/drivers/dma/ioat/dma_v3.c
> > +++ b/drivers/dma/ioat/dma_v3.c
> > @@ -1311,7 +1311,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
> > 
> >  	tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
> > 
> > -	if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
> > +	if (tmo == 0 || dma->device_tx_status(dma_chan, cookie, NULL)
> > +			!= DMA_COMPLETE) {
> >  		dev_err(dev, "Self-test xor timed out\n");
> >  		err = -ENODEV;
> >  		goto dma_unmap;
> > @@ -1377,7 +1378,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
> > 
> >  	tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
> > 
> > -	if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
> > +	if (tmo == 0 || dma->device_tx_status(dma_chan, cookie, NULL)
> > +			!= DMA_COMPLETE) {
> 
> Can you please do: 
> +	if (tmo == 0 ||
> +	    dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {

Documentation/CodingStyle:Chapter 2

"Statements longer than 80 columns will be broken into sensible chunks, unless
exceeding 80 columns significantly increases readability and does not hide
information. Descendants are always substantially shorter than the parent and
are placed substantially to the right. The same applies to function headers..."

am I misreading the CodingStyle here ?

> 
> Otherwise it looks good. Although I've never hit that error condition either. 
> 
> >  		dev_err(dev, "Self-test validate timed out\n");
> >  		err = -ENODEV;
> >  		goto dma_unmap;
> > @@ -1429,7 +1431,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
> > 
> >  	tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
> > 
> > -	if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
> > +	if (tmo == 0 || dma->device_tx_status(dma_chan, cookie, NULL)
> > +			!= DMA_COMPLETE) {
> >  		dev_err(dev, "Self-test 2nd validate timed out\n");
> >  		err = -ENODEV;
> >  		goto dma_unmap;
> > --
> > 1.7.10.4
> > 

thx!
hofrat
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux