From patchwork Tue Jun 7 18:44:05 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Belloni X-Patchwork-Id: 631765 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-wm0-f56.google.com (mail-wm0-f56.google.com [74.125.82.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rPL9F6TR7z9t3h for ; Wed, 8 Jun 2016 04:45:21 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.b=lmIzbL2y; dkim-atps=neutral Received: by mail-wm0-f56.google.com with SMTP id k184sf22973810wme.1 for ; Tue, 07 Jun 2016 11:45:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=sender:mime-version:from:to:cc:subject:date:message-id :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=RvAeemfgE2I7UneNYFU49oBt957sDQjcx3vBNn1q+kE=; b=lmIzbL2y+4hT2lCt3xxYBHg6QW4alMwxzC0csKFC0ihcbO9JxR687KdCYPfqv60wx4 qLCj0YzaA5fD5dvwxnoAhX1JTZ+B5BIwcPBbLw9ilPZlRj1MkPimegjXQlx/yDKF/QsB BrgIgoj0OB74eFm3qaCjf+OselEmkx+qooDRAAdwGPUHtrLbnRdyAWIJ3E2m+q/J7RtF D8avmpnz+ZaNtmXDJaGtW0ANlR0dX714ggI/VxgfvEHPSz0LXQkSIGt4/mAJdqPiy7c+ sx90ff9sR79AVzsBsFFMFl4p4ubUFg/YC6qqJcVMr7Cackd1h37iIyiqNEgEhua0IRfA /lRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=sender:x-gm-message-state:mime-version:from:to:cc:subject:date :message-id:x-original-sender:x-original-authentication-results :reply-to:precedence:mailing-list:list-id:x-spam-checked-in-group :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=RvAeemfgE2I7UneNYFU49oBt957sDQjcx3vBNn1q+kE=; b=gYpubLb02W0WDIPVY8M3mO/1LVarXfJ6Y1x5pwZpdMO3/zp4yYO6ls0jAIhFIZOdTa UnA45RgDvlG0dm2Yetb2hXKrLsY1OzVpcMeKGNDU0nqxscFvcphuTuO3ImgsSB2phGSJ sDGwX48KzxVz1TVCXJCQN+dDd4PciSjR4E3z6QfP+MwhiZxlNG4GzZ02rvFGZBwYCVhk VaA06jSLSqc6UFjEgoPCuDcyctChMf0UVBkLM/41plSq0mRY6XhIzbTbVPAQmUbwvQf0 sV3rtmJXsfhig+XSkve/N1xKqRyg66kpvvbc402CUEw7dbIqvaDyG7cCP/iAYDboC5rs wC4g== Sender: rtc-linux@googlegroups.com X-Gm-Message-State: ALyK8tKSbn08Pztp2XpLNZX60JSC4T1nLimTxm/D3IwzyBKenMlnNMB9Il52cQmIQRTQMw== X-Received: by 10.28.152.11 with SMTP id a11mr30209wme.14.1465325058319; Tue, 07 Jun 2016 11:44:18 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: rtc-linux@googlegroups.com Received: by 10.28.236.8 with SMTP id k8ls177377wmh.43.canary; Tue, 07 Jun 2016 11:44:17 -0700 (PDT) X-Received: by 10.28.1.16 with SMTP id 16mr729906wmb.0.1465325057624; Tue, 07 Jun 2016 11:44:17 -0700 (PDT) Received: from mail.free-electrons.com (down.free-electrons.com. [37.187.137.238]) by gmr-mx.google.com with ESMTP id f69si372004wmf.3.2016.06.07.11.44.17 for ; Tue, 07 Jun 2016 11:44:17 -0700 (PDT) Received-SPF: pass (google.com: domain of alexandre.belloni@free-electrons.com designates 37.187.137.238 as permitted sender) client-ip=37.187.137.238; Received: by mail.free-electrons.com (Postfix, from userid 110) id C3D5A254; Tue, 7 Jun 2016 20:44:16 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost (unknown [88.191.26.124]) by mail.free-electrons.com (Postfix) with ESMTPSA id 701C11F9; Tue, 7 Jun 2016 20:44:06 +0200 (CEST) From: Alexandre Belloni To: rtc-linux@googlegroups.com Cc: Alessandro Zummo , linux-kernel@vger.kernel.org, Alexandre Belloni Subject: [rtc-linux] [PATCH] rtc: rv8803: broaden workaround Date: Tue, 7 Jun 2016 20:44:05 +0200 Message-Id: <1465325045-774-1-git-send-email-alexandre.belloni@free-electrons.com> X-Mailer: git-send-email 2.8.1 X-Original-Sender: alexandre.belloni@free-electrons.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of alexandre.belloni@free-electrons.com designates 37.187.137.238 as permitted sender) smtp.mailfrom=alexandre.belloni@free-electrons.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: rtc-linux@googlegroups.com X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , The previous workaround may still fail as there are actually 4 retries to be done to ensure the communication succeed. Also, some I2C adapter drivers may return -EIO instead of -ENXIO. Signed-off-by: Alexandre Belloni --- drivers/rtc/rtc-rv8803.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/rtc-rv8803.c b/drivers/rtc/rtc-rv8803.c index 82ab41074156..533ca5bcaa96 100644 --- a/drivers/rtc/rtc-rv8803.c +++ b/drivers/rtc/rtc-rv8803.c @@ -68,7 +68,7 @@ static irqreturn_t rv8803_handle_irq(int irq, void *dev_id) do { flags = i2c_smbus_read_byte_data(client, RV8803_FLAG); try++; - } while ((flags == -ENXIO) && (try < 3)); + } while (((flags == -ENXIO) || (flags == -EIO)) && (try < 4)); if (flags <= 0) { spin_unlock(&rv8803->flags_lock); return IRQ_NONE; @@ -455,7 +455,7 @@ static int rv8803_probe(struct i2c_client *client, do { flags = i2c_smbus_read_byte_data(client, RV8803_FLAG); try++; - } while ((flags == -ENXIO) && (try < 3)); + } while (((flags == -ENXIO) || (flags == -EIO)) && (try < 4)); if (flags < 0) return flags; @@ -496,7 +496,7 @@ static int rv8803_probe(struct i2c_client *client, err = i2c_smbus_write_byte_data(rv8803->client, RV8803_EXT, RV8803_EXT_WADA); try++; - } while ((err == -ENXIO) && (try < 3)); + } while (((err == -ENXIO) || (flags == -EIO)) && (try < 4)); if (err) return err;