Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp1370850ybj; Thu, 7 May 2020 23:05:17 -0700 (PDT) X-Google-Smtp-Source: APiQypIL0kQYeRChF9SY/yyHSJ76cAUdUpu7kP1T1CZgdtLgJNVp6c3whSni7jEzwP4dOiq6XC3b X-Received: by 2002:a50:fa87:: with SMTP id w7mr878896edr.0.1588917917267; Thu, 07 May 2020 23:05:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588917917; cv=none; d=google.com; s=arc-20160816; b=V2b72VNBbGzsd8z4vMtgSZSJMG481PjfsKH6YTjmTSEfqsWyxY0NpmAtiIeOWS4FwZ FssNt/zg6gLGLUYFKnsHOe/kkeFErAA89M6ObElZl5OyhdPj72EF7qVJBpVe9RB6tHf3 JNd8aXK1SYsEFgmRdZfio7i5dhlNoLgrTDbCaGA25GOfO8LRsPQKZR+S5TATXtRioYLk iAekv1pnbUNljD//sT/ZGTv38+jUi4T+EXisx3VFOXQB+86Ulv6xet91XlDM5cjhFyV5 cpWhNH4/pp8LmcPS4cNKcQ8L/qLa4wucD+4q8J/xQ62S2+dpZ7/UpASLMXIHGxbGzvfS 3cfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=ORf397WVX2c/D8M130ybJi2FPjhphjPv3sfjfrbVd8Y=; b=RbVnb5W/cnEbp0r/sPKyXP+v0e7aIjhJI9ihOnmn656faIeTQkF4xeIJFss2B61X+3 tVtXg0OnsaQh/jFCiCT1Il8pgDM4rATFnEt7t8ZL0nZ8Utk5jBhkmxcqBRsR1Ba7KW7y TcIj9NmrbIFBIztsRBEb4HDlzoEsjBdEo8QQf7MiEvnLCS/aDuLONBzrQfl5/60BEM1M h1NrJWo1kpCifh7R+HYN46wraaEO6cMLim1ANPReONzqCHfgnTq1yN5PQ8HfgGidyXkk NCdWiMkQ8CVYrvMXVPJpB72ibw8Jd+QHmTKLGnu4zUGbpZGZD3uTQodVHNicZsywSIgG YyCw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v8si370402eju.376.2020.05.07.23.04.54; Thu, 07 May 2020 23:05:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728376AbgEHGAb (ORCPT + 99 others); Fri, 8 May 2020 02:00:31 -0400 Received: from esa1.mentor.iphmx.com ([68.232.129.153]:38783 "EHLO esa1.mentor.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728370AbgEHGA3 (ORCPT ); Fri, 8 May 2020 02:00:29 -0400 IronPort-SDR: I9emyzfXPy7l4IFiaDjwNNCJKZ9l9uX2Vr7sh9TziL2OYY4Cef9+chBqelS3oVl0SuO/hWNT+m 59ieNsYrztuE6WPB2kBsssYedYaw7ym6Oe5cKK7TFEmlnsxgegypw5QERdLBmJM50Tyump1LAO kCHkxTw4leD0oHxVYb5TTQ5ZeDx81Jp9cU4+GVDjkC0DH8F4ytguCpoLHGBKJbbQg9paVO0gcv Y+N9i7XHqLVTKp69tEIaMCtGd+fV1FK60V45jrTchnB12VuZju4m5Lu89jnhV6/gBb83tViYwo UKk= X-IronPort-AV: E=Sophos;i="5.73,366,1583222400"; d="scan'208";a="50670190" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 07 May 2020 22:00:27 -0800 IronPort-SDR: +yaNTrnZLMEk0EKHupJzgNyBN8O8vrAQCH2LeoUEj/NhFFbYFuPGqWcUXfvWz047zp48nNGOcd ZtkRXtT5/eEH8Tc1HbqG4g6NQxblzlUVeqDfFL24W3d/48O5qedFZIWUu58pmd3NbqXmVPu6gO l/RU+Bdw1wyiVqk8KMTliJ7VDWcBCUhWIODN8ITXuM/O/t1qFHtjw/wb1MeR8QHHNLWhGr+Q5x 1vwMo/ublQYaOjXEz6DrjV1abGlfpwJQbNmWi9lNCfFk6TX25J0q9c/zRTch4ZqMzAb1VukRoK 5Mw= From: Jiada Wang To: , , , , CC: , , , , Subject: [PATCH v11 55/56] input: atmel_mxt_ts: don't disable IRQ before remove of mxt_fw_attr_group Date: Thu, 7 May 2020 22:56:55 -0700 Message-ID: <20200508055656.96389-56-jiada_wang@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200508055656.96389-1-jiada_wang@mentor.com> References: <20200508055656.96389-1-jiada_wang@mentor.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is issue when firmware is being updated, but mxt_remove() is called to remove driver, because at very beginning IRQ is disabled so that firmware can't proceed, thus cause driver to hang. This patch by move disable_irq() after remove of mxt_fw_attr_group in mxt_remove() to address this issue. Signed-off-by: Jiada Wang --- drivers/input/touchscreen/atmel_mxt_ts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c index e75a7e5b0c59..b518c316757d 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -4514,8 +4514,8 @@ static int mxt_remove(struct i2c_client *client) { struct mxt_data *data = i2c_get_clientdata(client); - disable_irq(data->irq); sysfs_remove_group(&client->dev.kobj, &mxt_fw_attr_group); + disable_irq(data->irq); if (data->reset_gpio) { sysfs_remove_link(&client->dev.kobj, "reset"); gpiod_unexport(data->reset_gpio); -- 2.17.1