Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3399296pxu; Mon, 30 Nov 2020 02:08:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJyB0YUAiGK6PsgXHfaTb+wLOH+DgHsbGLhr1NgcAviiOjwy25Ha4enZ1o+1d24kaMNEJ7ed X-Received: by 2002:a50:b584:: with SMTP id a4mr20331127ede.301.1606730881113; Mon, 30 Nov 2020 02:08:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606730881; cv=none; d=google.com; s=arc-20160816; b=r4JcHN4leF/VSTjn76bDOgNhRp7niQ2TqSA5mR66Aw0E6VFV9Cv8YuNELFGMxbruV0 gcQQYY0X20pw0VOst5heyxX8n3BLrRBVLps2zVCs7Tr6YQVutVn0ClsgiPVL/QBEYm3U YAatO5lEBwo3JZ82otL8CqHQHUTRsSdNSopnjx6HFRfCN6c9LJuYfGYU5Jpgyg3TTaHj B04+BQ8j4goTyA62yUoHds/sLlMIc21a7beWvBl13H/q5Z78JPh6olKpA8DRTzGarzXV WWwO7NsSZfzVlUR4Y+B748eF9DIpcEYuSHRQ+kPgXtOHzwA7AaqvLGLFzrcJq5qlMbxc uSww== 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=2KorrjkWpWhpPEyV8UtE3mX2C8VcPs9mGkAT1KAXZsY=; b=UeEj+9DWYG1W4v3KQG+pIuzHzQcgp1UN4CVtStAbMKU+7sxj6WTIxUU2ZqJx/JyZO3 3SZiy0ihGTP9qKehQY/eSukAoKd8oZkxunbPiVuDYO7AGhPtk75KO8lz9XbSeaBFRjuk C0+jqkDwmBt3zHLy1x5gLK7eAowT27KMFKfR/mJyOUtEB3r9+y6vXBD9SWNnCin4abtp fCjjVxW3g5ne+I/NmHEIO+SycC5UAtKuSKtxT5G3dm82gBtAGYoUNgQMMinzjFTFl9NN Q9kj2O2hLJBs5fKC+wzjqv1vJcz0t9P1zYy7AHLGcV/i5t+PG3OkNk5NXpwAlraUH1kw aNdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YPCdVIZ4; 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 k25si11699722ejk.415.2020.11.30.02.07.38; Mon, 30 Nov 2020 02:08:01 -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=YPCdVIZ4; 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 S1728039AbgK3KGH (ORCPT + 99 others); Mon, 30 Nov 2020 05:06:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727474AbgK3KGH (ORCPT ); Mon, 30 Nov 2020 05:06:07 -0500 Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2FC52C0617A7 for ; Mon, 30 Nov 2020 02:04:56 -0800 (PST) Received: by mail-ed1-x542.google.com with SMTP id v22so15186932edt.9 for ; Mon, 30 Nov 2020 02:04: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=2KorrjkWpWhpPEyV8UtE3mX2C8VcPs9mGkAT1KAXZsY=; b=YPCdVIZ4Yy/Rd08Qthx7KKMs9WSu82cJ7OEgbuAYxsvIXUVBO0yy1ceI5p2Bc30zib ONAtl2Wezjc9rL88UMUWvifswVTyFA0dj+TqgUlVCd+yR5pUXBkjyJZDS8w6Va1koW+Y FXk3X8804n0FOq46PT9TFlodigENJOWH54F2ijzDyC2dboWUJVTsEe6zTOpctCJCcoWA X+AsyXjMVMo73b3RGr5C1CWLwweLjHvjIXUMhq4MwqPop89Ugg8XofuQ2OUpDq/8nvwf Hg61k4nYR9mvMmpfHvKbb7M3OXs3/IQYyD/A6L1uxDP/9kUB7mtGVytmcRiVqpp95VMT Nr3A== 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=2KorrjkWpWhpPEyV8UtE3mX2C8VcPs9mGkAT1KAXZsY=; b=H+WZ4DEXOVz3tojDhB6NkTsEgDTbfxHU3PVQc3JY5UaARO7mszsBQnwV8EWBbvaRwT T17VTw8RoDNIE7Wqyqlv1cr6oX3OmDGLtE+X/9EcrqTqhuzQAuZyZ1M+xHM08miKyvBQ YOVf08QBVfVIrEGTEviQVbYO12K953epBSgBxcE4ZCaEi7E8VWUIZ9oKPIlPZtzN1Z0R sDK1Xobt1HtSXtYyxuz7uGDr73L957GPaNcM+gkUmB8eynGVHA5omtMaW6JP7l/HQUjs KlpTSvFW5VN0UWG5Z5uHE1hwPIq8LH6vVyr+NKeKImudA/HzHzAQN4qWVj2fE3SICBun kv6Q== X-Gm-Message-State: AOAM531H1gLgxukZ+4rKz7SWZx0hZI3x8RogARmHF4AvVmei6YG2ZSYl 7bdbFOgkY3z93WKflCKdzYhkHQ== X-Received: by 2002:a05:6402:17d6:: with SMTP id s22mr9742899edy.20.1606730694832; Mon, 30 Nov 2020 02:04:54 -0800 (PST) Received: from localhost.localdomain ([2a02:2450:102f:d6a:4045:6525:ec27:9b77]) by smtp.gmail.com with ESMTPSA id i9sm8267378ejf.41.2020.11.30.02.04.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Nov 2020 02:04:54 -0800 (PST) From: Robert Foss To: loic.poulain@linaro.org, robert.foss@linaro.org, wsa@kernel.org, vkoul@kernel.org, todor.too@gmail.com, bjorn.andersson@linaro.org, linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Manivannan Sadhasivam Subject: [PATCH v3] i2c: qcom: Fix IRQ error misassignement Date: Mon, 30 Nov 2020 11:04:45 +0100 Message-Id: <20201130100445.66930-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 Reviewed-by: Manivannan Sadhasivam --- 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