Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2548930yba; Mon, 6 May 2019 07:51:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqzoPOSpCIBnQGcGSyRHk6rFM/aCxWoh+8ABVVaavmc7FlDhlvjP/jLhmEt2J9amheTzexzI X-Received: by 2002:a17:902:8c8c:: with SMTP id t12mr7992351plo.116.1557154302300; Mon, 06 May 2019 07:51:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557154302; cv=none; d=google.com; s=arc-20160816; b=XvWqlXu6eKS1M1vlFg8jZbCUV97ZIbXA5W9SKCoAaWANlNef0Nadx4ASYYjT9P/vnB vHa7Py91Riyx4eNM3StgEYvaLPo8H9I1hU83LBbzqVbmSNtIP5IopAP4eEHuZT7Fc7o5 S1SEIhk7M4XLt75EAgqHMEQZiMj8EsvWFHAc289srnhkYLSyXQD1mowslHAs7ABL91fl +uOhu0NIvEWOq8xGMxYebP4u6ZM+n8C3gI/HOjCkQ7USBEWhnGKzdnOaWhKCobE8vQGI 95U62TWM54Bg/zRysKL15pbsKBfbt3aY6oFD+2JuTnxZfCmzjbbF7w+1y3rbodAaTn7e IiIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=R9bh+dZSyi61/k/JRn0V1woqS0WjiFYhWCIi3wQWwXs=; b=X5fnm6lVh1i3uN3VE/0S792uYr++BP8g8PBykU8sYZSghWXara9RqL8RG3frSRgqi7 k3G6aFLDHAtA5Nl9ROKKQ/4CO5rwFXhEZbsrxq2Hi4SF3udkf7tJbauqLSU7+mlXqCl+ 7GVQlmfMYQfZ4TkDHkp7b/DktL2gWlUUbRsMjfZ/XAEdJmKjuKPJLsADi1TIjwTf30/c xdqXneTzrhXeRk19hChqzs6bKTBiKAn7wFib2G68s7YFN+FSRUGBWyh8OU40hI8ffymo NpDMhwJK35kzUUYu1Zz9SVGqT9D+QC1Tm2w+KJUrrXxivlYjxQwrQqpNa9tiaUDGh34k BWkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vSAy3gXk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id be1si14310077plb.286.2019.05.06.07.51.26; Mon, 06 May 2019 07:51:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vSAy3gXk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727069AbfEFOub (ORCPT + 99 others); Mon, 6 May 2019 10:50:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:50762 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729560AbfEFOtU (ORCPT ); Mon, 6 May 2019 10:49:20 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 52EBF20C01; Mon, 6 May 2019 14:49:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557154159; bh=hNMILTvkYrpnJHXR3XQLza2zTz1EDv6P8yTCQHmpAkw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vSAy3gXkS5S7z4M80/12lowEW3JGKh1rqXSCIKHcVsTAToW5JBEdxHa9eJhS6Tyj/ TAL6QWQIKt5bpQrb3mOe/FI869h79VT15a5TEOJGEIyER2u6dc2BFZB4gZEx2b0ZiI BwMnoLPUzXAR4CGKINi5RC3lAm4HK0n+zfB2RmD4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Anson Huang , Dmitry Torokhov Subject: [PATCH 4.9 59/62] Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ Date: Mon, 6 May 2019 16:33:30 +0200 Message-Id: <20190506143056.523415973@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190506143051.102535767@linuxfoundation.org> References: <20190506143051.102535767@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Anson Huang commit bf2a7ca39fd3ab47ef71c621a7ee69d1813b1f97 upstream. SNVS IRQ is requested before necessary driver data initialized, if there is a pending IRQ during driver probe phase, kernel NULL pointer panic will occur in IRQ handler. To avoid such scenario, just initialize necessary driver data before enabling IRQ. This patch is inspired by NXP's internal kernel tree. Fixes: d3dc6e232215 ("input: keyboard: imx: add snvs power key driver") Signed-off-by: Anson Huang Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman --- drivers/input/keyboard/snvs_pwrkey.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/drivers/input/keyboard/snvs_pwrkey.c +++ b/drivers/input/keyboard/snvs_pwrkey.c @@ -156,6 +156,9 @@ static int imx_snvs_pwrkey_probe(struct return error; } + pdata->input = input; + platform_set_drvdata(pdev, pdata); + error = devm_request_irq(&pdev->dev, pdata->irq, imx_snvs_pwrkey_interrupt, 0, pdev->name, pdev); @@ -171,9 +174,6 @@ static int imx_snvs_pwrkey_probe(struct return error; } - pdata->input = input; - platform_set_drvdata(pdev, pdata); - device_init_wakeup(&pdev->dev, pdata->wakeup); return 0;