Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751867AbdHaXjV (ORCPT ); Thu, 31 Aug 2017 19:39:21 -0400 Received: from mail-pg0-f43.google.com ([74.125.83.43]:38190 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751307AbdHaXjS (ORCPT ); Thu, 31 Aug 2017 19:39:18 -0400 X-Google-Smtp-Source: ADKCNb410CBZwUdnZRMTRt68ZawAU8InTh5L7bCQng+9dFWi4jBwJu5gMO249+TRKsvrW3U6CtOM5A== From: Kees Cook To: Thomas Gleixner Cc: Kees Cook , Martin Schwidefsky , Heiko Carstens , Peter Oberparleiter , Greg Kroah-Hartman , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 21/31] s390/char/sclp: Use separate static data field with with static timer Date: Thu, 31 Aug 2017 16:29:33 -0700 Message-Id: <1504222183-61202-22-git-send-email-keescook@chromium.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1504222183-61202-1-git-send-email-keescook@chromium.org> References: <1504222183-61202-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: 2447 Lines: 69 In preparation for changing the timer callback argument to the timer pointer, move to a separate static data variable. Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Peter Oberparleiter Cc: Greg Kroah-Hartman Cc: linux-s390@vger.kernel.org Signed-off-by: Kees Cook --- drivers/s390/char/sclp.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index d0157067a80a..40794f9f1598 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c @@ -90,6 +90,7 @@ static struct sclp_req sclp_suspend_req; /* Timer for request retries. */ static struct timer_list sclp_request_timer; +static unsigned long sclp_request_timer_data; /* Timer for queued requests. */ static struct timer_list sclp_queue_timer; @@ -158,7 +159,7 @@ __sclp_set_request_timer(unsigned long time, void (*function)(unsigned long), { del_timer(&sclp_request_timer); sclp_request_timer.function = function; - sclp_request_timer.data = data; + sclp_request_timer_data = data; sclp_request_timer.expires = jiffies + time; add_timer(&sclp_request_timer); } @@ -166,12 +167,12 @@ __sclp_set_request_timer(unsigned long time, void (*function)(unsigned long), /* Request timeout handler. Restart the request queue. If DATA is non-zero, * force restart of running request. */ static void -sclp_request_timeout(unsigned long data) +sclp_request_timeout(unsigned long unused) { unsigned long flags; spin_lock_irqsave(&sclp_lock, flags); - if (data) { + if (sclp_request_timer_data) { if (sclp_running_state == sclp_running_state_running) { /* Break running state and queue NOP read event request * to get a defined interface state. */ @@ -557,7 +558,7 @@ sclp_sync_wait(void) if (timer_pending(&sclp_request_timer) && get_tod_clock_fast() > timeout && del_timer(&sclp_request_timer)) - sclp_request_timer.function(sclp_request_timer.data); + sclp_request_timer.function(0); cpu_relax(); } local_irq_disable(); @@ -914,7 +915,7 @@ static void sclp_check_handler(struct ext_code ext_code, /* Initial init mask request timed out. Modify request state to failed. */ static void -sclp_check_timeout(unsigned long data) +sclp_check_timeout(unsigned long unused) { unsigned long flags; -- 2.7.4