From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8EFEBC433DF for ; Mon, 12 Oct 2020 13:40:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 37D2522265 for ; Mon, 12 Oct 2020 13:40:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602510050; bh=c3FF0dtBNxenNhYRG9lbq4FRJg05wTXpy+HDvjExw4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=rXmjOX7IUiwLmNcfxNGAID/6dWdN6wFjhN+tsBGpa8mfLk9ZYlONid+8h136BH3cc ZZzfvk9B6MAlJhy/TRZzjsYOibOu8x+XxD5OMbfheLrE23Ke3UXVv6jz6JyuVjfqaH qsyHK9RhTtWJ1OoRETTSlHuS8m46zg/JqMMiBGoo= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388978AbgJLNkt (ORCPT ); Mon, 12 Oct 2020 09:40:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:42752 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731318AbgJLNjD (ORCPT ); Mon, 12 Oct 2020 09:39:03 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 6F63120678; Mon, 12 Oct 2020 13:39:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602509942; bh=c3FF0dtBNxenNhYRG9lbq4FRJg05wTXpy+HDvjExw4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JcPe+9bEYsltDSfQ8xpnqueyqoVQGCpjbtx2LvC92KVe5YJthAK6SkPz/dWb/uIJb 73w6hAvhW2M1MEG1SDKHBdpczPg3RG4v/9hJvxXYEz2iq1Xtq9fDWHfoXiiKwJ5R6E Yyq7mRIC/JBkeg0iLic/k7iCaQTOspot/mJdjmjI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Manivannan Sadhasivam , Cristian Ciocaltea , Wolfram Sang Subject: [PATCH 4.19 24/49] i2c: owl: Clear NACK and BUS error bits Date: Mon, 12 Oct 2020 15:27:10 +0200 Message-Id: <20201012132630.577881416@linuxfoundation.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012132629.469542486@linuxfoundation.org> References: <20201012132629.469542486@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Cristian Ciocaltea commit f5b3f433641c543ebe5171285a42aa6adcdb2d22 upstream. When the NACK and BUS error bits are set by the hardware, the driver is responsible for clearing them by writing "1" into the corresponding status registers. Hence perform the necessary operations in owl_i2c_interrupt(). Fixes: d211e62af466 ("i2c: Add Actions Semiconductor Owl family S900 I2C driver") Reported-by: Manivannan Sadhasivam Signed-off-by: Cristian Ciocaltea Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman --- drivers/i2c/busses/i2c-owl.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/drivers/i2c/busses/i2c-owl.c +++ b/drivers/i2c/busses/i2c-owl.c @@ -179,6 +179,9 @@ static irqreturn_t owl_i2c_interrupt(int fifostat = readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT); if (fifostat & OWL_I2C_FIFOSTAT_RNB) { i2c_dev->err = -ENXIO; + /* Clear NACK error bit by writing "1" */ + owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOSTAT, + OWL_I2C_FIFOSTAT_RNB, true); goto stop; } @@ -186,6 +189,9 @@ static irqreturn_t owl_i2c_interrupt(int stat = readl(i2c_dev->base + OWL_I2C_REG_STAT); if (stat & OWL_I2C_STAT_BEB) { i2c_dev->err = -EIO; + /* Clear BUS error bit by writing "1" */ + owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_STAT, + OWL_I2C_STAT_BEB, true); goto stop; }