Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751587AbdIUKdZ (ORCPT ); Thu, 21 Sep 2017 06:33:25 -0400 Received: from smtp89.iad3a.emailsrvr.com ([173.203.187.89]:60004 "EHLO smtp89.iad3a.emailsrvr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751387AbdIUKdY (ORCPT ); Thu, 21 Sep 2017 06:33:24 -0400 X-Auth-ID: siepeng@mev.co.uk X-Sender-Id: siepeng@mev.co.uk Subject: Re: [PATCH v2 26/31] staging/comedi/das16: Make timer initialization unconditional To: Kees Cook , Thomas Gleixner Cc: H Hartley Sweeten , Greg Kroah-Hartman , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org References: <1505950075-50223-1-git-send-email-keescook@chromium.org> <1505950075-50223-27-git-send-email-keescook@chromium.org> From: Ian Abbott Message-ID: <70303732-0988-2f54-f572-5130e2031b3a@mev.co.uk> Date: Thu, 21 Sep 2017 11:33:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <1505950075-50223-27-git-send-email-keescook@chromium.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2093 Lines: 58 On 21/09/17 00:27, Kees Cook wrote: > With timer initialization made unconditional, there is no reason to > make del_timer_sync() calls conditionally, there by removing the test > of the .data field. > > Cc: Ian Abbott > Cc: H Hartley Sweeten > Cc: Greg Kroah-Hartman > Cc: devel@driverdev.osuosl.org > Signed-off-by: Kees Cook > --- > drivers/staging/comedi/drivers/das16.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/staging/comedi/drivers/das16.c b/drivers/staging/comedi/drivers/das16.c > index 5d157951f63f..2b2a446af3f5 100644 > --- a/drivers/staging/comedi/drivers/das16.c > +++ b/drivers/staging/comedi/drivers/das16.c > @@ -934,6 +934,9 @@ static void das16_alloc_dma(struct comedi_device *dev, unsigned int dma_chan) > { > struct das16_private_struct *devpriv = dev->private; > > + setup_timer(&devpriv->timer, das16_timer_interrupt, > + (unsigned long)dev); > + > /* only DMA channels 3 and 1 are valid */ > if (!(dma_chan == 1 || dma_chan == 3)) > return; > @@ -941,10 +944,6 @@ static void das16_alloc_dma(struct comedi_device *dev, unsigned int dma_chan) > /* DMA uses two buffers */ > devpriv->dma = comedi_isadma_alloc(dev, 2, dma_chan, dma_chan, > DAS16_DMA_SIZE, COMEDI_ISADMA_READ); > - if (devpriv->dma) { > - setup_timer(&devpriv->timer, das16_timer_interrupt, > - (unsigned long)dev); > - } > } > > static void das16_free_dma(struct comedi_device *dev) > @@ -952,8 +951,7 @@ static void das16_free_dma(struct comedi_device *dev) > struct das16_private_struct *devpriv = dev->private; > > if (devpriv) { > - if (devpriv->timer.data) > - del_timer_sync(&devpriv->timer); > + del_timer_sync(&devpriv->timer); > comedi_isadma_free(devpriv->dma); > } > } > That's fine. Reviewed-by: Ian Abbott -- -=( Ian Abbott @ MEV Ltd. E-mail: )=- -=( Web: http://www.mev.co.uk/ )=-