Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3334466yba; Mon, 6 May 2019 22:41:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqyHJilj7/JsY2e1OoWqNPZ4Ktq+Xz88+xO6aQSTSynQ8UdGuhftt51xJsfhEplp51amG/4J X-Received: by 2002:a62:570a:: with SMTP id l10mr28580552pfb.151.1557207667704; Mon, 06 May 2019 22:41:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557207667; cv=none; d=google.com; s=arc-20160816; b=N6wD5ekIdeUzYQWdlw9fpeWDIVM6b5DDMCRRRXKyYHHXy72ouqm9Cg6K/wfdOEydMY 7Hm8kI8aOMcORWY3nGl6XaqoVcypwzPVvTSjqOV7X/zZyBtMU+XvJfv6Iqq8CkouiWT+ 6aS2bGuFhi3Nv6XutE6MG+Eo9VPcRTFBIQ6JdSo9itW7F0EoVQQIJhYzOAC9vdoQsVBN CvAmMEsGlTRFECOIBxde6zXBQACisiJbYNHM5nvkK1rnlVCCNhwqdwLCRVAEGQUc35aC UOsqsBvsL8N1UQWtu/LIh1C5QuwFEMxgtMZKNlw3kfkIoJVcArwrb3Bf9ahiKhHH/+Nc heVQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=m7xLOzdHKE5lQ8q5apQcAHW3HmCWtjUvohzf+5W6Dzg=; b=N4tzPNjmiRT6I0WiWiH5P4oCmF9kMUzk1eUQv+dMKXmtjCGYEguQIowhGfVf0U9uVI ozXkqWGDQcgpZ4aS2f21/k11vxon5mPLEZpHCS6C2syZbct1i57GD0ritNzniuIbWp2h xcquuXHEd7NI9sTLX91+0d49DTKFTnpcbk7AAZHganEJ6AgIF5v36DSAy1W9ndCGGoQ8 JgmIqjJGSVXnHQR97Jp8YzOZBBDcqG+a1Xr/igm7lGJByRT+j70nrqaGQbFLmtVDUBe3 nj0Sm9gbKOBGloh/5jAcvtNKP0xWEcPi2JFLb8gcsyDQYMTGzxb3LOg0WWqDFshiTUUv yekQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="rlt/mal9"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t5si17719294plo.41.2019.05.06.22.40.52; Mon, 06 May 2019 22:41:07 -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="rlt/mal9"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728748AbfEGFir (ORCPT + 99 others); Tue, 7 May 2019 01:38:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:58472 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728735AbfEGFim (ORCPT ); Tue, 7 May 2019 01:38:42 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1C40F205ED; Tue, 7 May 2019 05:38:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557207521; bh=iEfU6ZPCt9MjIIlaMRwGa+rdr1IuXQoK3n05WICoS5E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rlt/mal9ySJNuMxVNxK+JrL3J6kD6NaNDhv39vOH4QGvQHNZHEqDjRLi8I9Oa2lTb 6ZWlwqG1kzcil9ntleW6Ic8WnvCCwiDIbjC1Bcin9TYcrPtd6aB3peibuKExV5MfX5 HfN3N1hJ9zk4Zdq2UcKkLhDqUz7xajvOon0ClkK4= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Anson Huang , Anson Huang , Dmitry Torokhov , Sasha Levin , linux-input@vger.kernel.org Subject: [PATCH AUTOSEL 4.14 12/95] Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ Date: Tue, 7 May 2019 01:37:01 -0400 Message-Id: <20190507053826.31622-12-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190507053826.31622-1-sashal@kernel.org> References: <20190507053826.31622-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore 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 [ Upstream commit bf2a7ca39fd3ab47ef71c621a7ee69d1813b1f97 ] 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: Sasha Levin --- drivers/input/keyboard/snvs_pwrkey.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/input/keyboard/snvs_pwrkey.c b/drivers/input/keyboard/snvs_pwrkey.c index 7544888c4749..b8dbde746b4e 100644 --- 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 platform_device *pdev) 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 platform_device *pdev) return error; } - pdata->input = input; - platform_set_drvdata(pdev, pdata); - device_init_wakeup(&pdev->dev, pdata->wakeup); return 0; -- 2.20.1