Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1668976pxu; Fri, 27 Nov 2020 12:18:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJwFaJzOpk2PnSH2HznnQHyhQN95HDSQARZP2YmDNCj8ivpqSmlDowmH18aDaOl2/khZ8FmN X-Received: by 2002:a17:907:94c6:: with SMTP id dn6mr9661219ejc.13.1606508302495; Fri, 27 Nov 2020 12:18:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606508302; cv=none; d=google.com; s=arc-20160816; b=F+BkexF9SKCYuj4JRXHlqsVGhvzE4F2+x6hBmLw+clGXcaXEHLfjUEF4uhh9PMpaVq gN1IHdSj5Sn3yE5Lf6FTKoQbbjR1K68tHgV/Hb6SLvciQh33Ed5o2VnwQ/49DAGFPX45 Xyrf7DkKlw4YV5MKRnMqf5ksLAU/bBM3cXPmb/jLod51Vqh64d++rulBIamiJ6By9uBv 70WTTupju/0foI7uDOr3XF5A4FXseGss1aYUMJiqgtZ5anBPqeV7qSY114gC0qNj5hfH dcSDoeor8URHMAiTezNMbycaoNDpngMsDapQvRjJoSd4pDRiBeQENn38IyHRDQyVq8Dp hHzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:to:from:dkim-signature; bh=ZTzYDGlssiWZrUEFT2+YAeEh5ntk2vBgSh5UR1iN5dM=; b=UM+O3e6+6GzO2YNWTUflMj3jJaGakcH6EeLyFKTfts0HKaDWZWEZI6IzOXNDzkd843 FriDJ5YtAQfrHcHWm9CqggSukgSrznu3Pi6dhtnD7VcNsZms1561sGYThky1vSVOlj1Q +rmG5wfwyJbNS65pDcY6QkZ0xmmyqFhzVctEf4meWpzNbM1tO37DM35jznDkeWt7QrMC 7gVvEPBm5Jx+K3sVCPdDM/E5dn3famZHJ9ow+w6eXrtSh0sgj3FccqehCPS9TporKHKT tFfnq0q7K4vIX06recezwxf6H4SnczYHnBCdOmzgCrv91Itp/XWaWylGa2+YFo1g1Q/p yYBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ULNlQGsr; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nq7si6162519ejb.109.2020.11.27.12.17.56; Fri, 27 Nov 2020 12:18:22 -0800 (PST) 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; dkim=pass header.i=@linaro.org header.s=google header.b=ULNlQGsr; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730459AbgK0Nj5 (ORCPT + 99 others); Fri, 27 Nov 2020 08:39:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729402AbgK0Nj4 (ORCPT ); Fri, 27 Nov 2020 08:39:56 -0500 Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com [IPv6:2a00:1450:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 527A2C0613D2 for ; Fri, 27 Nov 2020 05:39:56 -0800 (PST) Received: by mail-ej1-x644.google.com with SMTP id d17so5745105ejy.9 for ; Fri, 27 Nov 2020 05:39:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZTzYDGlssiWZrUEFT2+YAeEh5ntk2vBgSh5UR1iN5dM=; b=ULNlQGsr3qUNzH/jaEfgFSgEyxt6P0XKTUnq1MIA+5i44yiv0m/KnfBsBRFM19+Y+D RSScUObp4c25El6RzmLPoNg/JsufYS7LHJMAI8Oo+kbZBY1+ZE7komJ9u7CEfhmwBL2H HWZ6/nn2XkCunJ8v5w4GQxlK92VT28h5Wbc4n58j+Fc5AhffjZAgrVJ29bgICVLg5aoS aVC+WsED7UiDvLULIuqF4Duy778G+j1sR5X5VXB5v5owMwFLc0JYwo6JYhLowRBbuv0I 1780ULPOWodEfzXGZ1Pcy+rGSmYWLS8nhoLMTcoev+/wBAKySLxh4w8sVla71UFvlQ0U vSgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZTzYDGlssiWZrUEFT2+YAeEh5ntk2vBgSh5UR1iN5dM=; b=fZNEFyIZX+YqVpxV7B6fUHbSaxAgbJQhk+CtoOx+ygYEVGmnXnh8kxeuOVJF7+OAHT civOT0ITcVhW+dzKayg60so88Nm2NL8f1T6zHmtMW90DPWcNPq5BGTZWDVafnmPS7hdP OWj5ZGTwaUethvYHa7UYDZZw0Bf3bZsPmuY1v1zZafWLBCXDoYbgjPKGZDVo9eE+r4x6 ggl6DzMzBrYIJULE1Gojc3hT+ikn97i2MlZU8V97Eyi3l2+3Wl+skEDZ4+U/jSJTQKyy J4Bn5oNS3Wffr6+ZsE+BP9bNn3okhcvoqr4+SeR8WmQFrBGRhNA+KtkWx79OP/YuDMeT 2dEg== X-Gm-Message-State: AOAM5304sqm+aQS/yi1h6H+56RR/6UVlgwU5tRrQT7r9Lh/AHpPHuHff Mop4bN5Lcm+RDEZpSdVu7Mpvbw== X-Received: by 2002:a17:906:7a18:: with SMTP id d24mr5856719ejo.324.1606484394871; Fri, 27 Nov 2020 05:39:54 -0800 (PST) Received: from localhost.localdomain ([2a02:2450:102f:d6a:a6a1:9dbe:c8e3:3524]) by smtp.gmail.com with ESMTPSA id z16sm4840092ejx.119.2020.11.27.05.39.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Nov 2020 05:39:54 -0800 (PST) From: Robert Foss To: loic.poulain@linaro.org, robert.foss@linaro.org, bjorn.andersson@linaro.org, wsa@kernel.org, todor.too@gmail.com, vkoul@kernel.org, linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Manivannan Sadhasivam Subject: [PATCH v2] i2c: qcom: Fix IRQ error misassignement Date: Fri, 27 Nov 2020 14:39:37 +0100 Message-Id: <20201127133937.93208-1-robert.foss@linaro.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org During cci_isr() errors read from register fields belonging to i2c master1 are currently assigned to the status field belonging to i2c master0. This patch corrects this error, and always assigns master1 errors to the status field of master1. Fixes: e517526195de ("i2c: Add Qualcomm CCI I2C driver") Reported-by: Loic Poulain Suggested-by: Loic Poulain Signed-off-by: Robert Foss --- drivers/i2c/busses/i2c-qcom-cci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-qcom-cci.c b/drivers/i2c/busses/i2c-qcom-cci.c index f13735beca58..1c259b5188de 100644 --- a/drivers/i2c/busses/i2c-qcom-cci.c +++ b/drivers/i2c/busses/i2c-qcom-cci.c @@ -194,9 +194,9 @@ static irqreturn_t cci_isr(int irq, void *dev) if (unlikely(val & CCI_IRQ_STATUS_0_I2C_M1_ERROR)) { if (val & CCI_IRQ_STATUS_0_I2C_M1_Q0_NACK_ERR || val & CCI_IRQ_STATUS_0_I2C_M1_Q1_NACK_ERR) - cci->master[0].status = -ENXIO; + cci->master[1].status = -ENXIO; else - cci->master[0].status = -EIO; + cci->master[1].status = -EIO; writel(CCI_HALT_REQ_I2C_M1_Q0Q1, cci->base + CCI_HALT_REQ); ret = IRQ_HANDLED; -- 2.27.0