From patchwork Tue Dec 25 05:17:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kangjie Lu X-Patchwork-Id: 10743599 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3CC6F6C2 for ; Thu, 27 Dec 2018 07:52:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 317CC287B9 for ; Thu, 27 Dec 2018 07:52:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 261E1287D2; Thu, 27 Dec 2018 07:52:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D155E287B9 for ; Thu, 27 Dec 2018 07:52:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 77E066E218; Thu, 27 Dec 2018 07:52:06 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mta-p8.oit.umn.edu (mta-p8.oit.umn.edu [134.84.196.208]) by gabe.freedesktop.org (Postfix) with ESMTPS id 450986E668 for ; Tue, 25 Dec 2018 05:17:48 +0000 (UTC) Received: from localhost (unknown [127.0.0.1]) by mta-p8.oit.umn.edu (Postfix) with ESMTP id EBA79B89 for ; Tue, 25 Dec 2018 05:17:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p8.oit.umn.edu ([127.0.0.1]) by localhost (mta-p8.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tg95C7im8GgA for ; Mon, 24 Dec 2018 23:17:46 -0600 (CST) Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p8.oit.umn.edu (Postfix) with ESMTPS id C5A16B72 for ; Mon, 24 Dec 2018 23:17:46 -0600 (CST) Received: by mail-io1-f69.google.com with SMTP id l10so2909396iok.9 for ; Mon, 24 Dec 2018 21:17:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=FdFrkmqprfCYQfxfSMzPTnrTdkT0taszbpGJk+aizVs=; b=o6sZ5hwna8ygX2TIkXD4yRmDIRFvEpCNrk81Wz5vZbZDKYYatRy/UcsGwXE8y8m8h7 Ealtax0SR6ze0cdo8l/Q6t40tsRagob6XfQ6Pa4gLIOYhWxFpByx2qkKjxunaZM2uVmQ 5j69PbLjDuC5pUkTKWE2B+32kmhbwiHuUZYZdWXFk5b9JI6ZRu4kdDxInqW/zVYrW6BM oGMTwWpll0kl6+LJ2l8kmZghVuhPtdy/kTq+aznjY5DS427G5kxvZKWZ4xGyYM7k/kJo O09vmurAGBEZZG6e37y1T+ziHSm4NSwoMXHBdDA+zuoklBfnK5KaNsxN+3sk6smJz1Xd N01g== X-Gm-Message-State: AJcUuketfCnGH/5yUOz+kgBz1yttZ1j3l0feXtvK8e8WDGMlY1NOiiP7 S7U3TbPwhKAcwW13mjW56wgLx96kp0aWObpIh20cDN2xmB88Rdi/gT6/e3jN8zq7d8UhL4ou8hx hW8/52dRJIyOG0bEuuaFv1qoeDkbXDVgm X-Received: by 2002:a6b:3b85:: with SMTP id i127mr10187797ioa.177.1545715066310; Mon, 24 Dec 2018 21:17:46 -0800 (PST) X-Google-Smtp-Source: ALg8bN7Tp/MTBMpXmifTRotIpuk2jIY1VhA1oHeJRDDT2VSLHS6nkXZcya7rJzN9QoUnwY2WjLaRjg== X-Received: by 2002:a6b:3b85:: with SMTP id i127mr10187790ioa.177.1545715066088; Mon, 24 Dec 2018 21:17:46 -0800 (PST) Received: from localhost.localdomain (host-173-230-104-22.mnmigsc.mn.minneapolis.us.clients.pavlovmedia.net. [173.230.104.22]) by smtp.gmail.com with ESMTPSA id w24sm3527596ioc.11.2018.12.24.21.17.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 24 Dec 2018 21:17:45 -0800 (PST) From: Kangjie Lu To: kjlu@umn.edu Subject: [PATCH v2] gpu: anx7808: fix a missing check in anx78xx_poweron Date: Mon, 24 Dec 2018 23:17:20 -0600 Message-Id: <20181225051720.66433-1-kjlu@umn.edu> X-Mailer: git-send-email 2.17.2 (Apple Git-113) X-Mailman-Approved-At: Thu, 27 Dec 2018 07:52:03 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Laurent Pinchart , pakki001@umn.edu MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Both anx78xx_set_bits() and anx78xx_clear_bits() in the poweron process may fail. The fix inserts checks for their return values. Signed-off-by: Kangjie Lu --- drivers/gpu/drm/bridge/analogix-anx78xx.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c index f8433c93f463..3b0fe2b188db 100644 --- a/drivers/gpu/drm/bridge/analogix-anx78xx.c +++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c @@ -638,10 +638,22 @@ static void anx78xx_poweron(struct anx78xx *anx78xx) gpiod_set_value_cansleep(pdata->gpiod_reset, 0); /* Power on registers module */ - anx78xx_set_bits(anx78xx->map[I2C_IDX_TX_P2], SP_POWERDOWN_CTRL_REG, - SP_HDCP_PD | SP_AUDIO_PD | SP_VIDEO_PD | SP_LINK_PD); - anx78xx_clear_bits(anx78xx->map[I2C_IDX_TX_P2], SP_POWERDOWN_CTRL_REG, - SP_REGISTER_PD | SP_TOTAL_PD); + err = anx78xx_set_bits(anx78xx->map[I2C_IDX_TX_P2], + SP_POWERDOWN_CTRL_REG, + SP_HDCP_PD | SP_AUDIO_PD | SP_VIDEO_PD | SP_LINK_PD); + if (err) { + DRM_ERROR("Failed to set register bits: %d\n", + err); + return; + } + err = anx78xx_clear_bits(anx78xx->map[I2C_IDX_TX_P2], + SP_POWERDOWN_CTRL_REG, + SP_REGISTER_PD | SP_TOTAL_PD); + if (err) { + DRM_ERROR("Failed to clear register bits: %d\n", + err); + return; + } anx78xx->powered = true; }