Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752070AbdITXhz (ORCPT ); Wed, 20 Sep 2017 19:37:55 -0400 Received: from mail-pf0-f173.google.com ([209.85.192.173]:49269 "EHLO mail-pf0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751972AbdITXhw (ORCPT ); Wed, 20 Sep 2017 19:37:52 -0400 X-Google-Smtp-Source: AOwi7QAvngT925wmTgilr66jXOJdIWeY0xoPTptX/Om4vK1EbV8q6jsb0D0zmKdluQFhDtxXoKHGog== From: Kees Cook To: Thomas Gleixner Cc: Kees Cook , Ian Abbott , H Hartley Sweeten , Greg Kroah-Hartman , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 26/31] staging/comedi/das16: Make timer initialization unconditional Date: Wed, 20 Sep 2017 16:27:50 -0700 Message-Id: <1505950075-50223-27-git-send-email-keescook@chromium.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1505950075-50223-1-git-send-email-keescook@chromium.org> References: <1505950075-50223-1-git-send-email-keescook@chromium.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1762 Lines: 50 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); } } -- 2.7.4