Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3897496pxv; Mon, 19 Jul 2021 11:25:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwyilFg3THRbiRbSrYEGecRA5wfLOicPiXraROXqU4GEoM9V4s5ZrEQ5L8+Y66LznjfH+0D X-Received: by 2002:a92:ad04:: with SMTP id w4mr17676812ilh.221.1626719124430; Mon, 19 Jul 2021 11:25:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626719124; cv=none; d=google.com; s=arc-20160816; b=c2g3jPfbkT68ZK6+3V3lV+Kt8Gs2Lg30EN/pIKs7VIh3Ue14LNvZag7dJpHswWoBxP JTGYslzyZJBsZEsAqpjnN6kCo3CSF9D92CC/Ng0QtAFt8goBD9xp6u2ynLs67iVrVjzM gjdvT7bloO3QOkuDpyY/RN0xCGJywE6Ec/Sk+U2+mWu1tDl5YgzjQ5RyMquJhuBVFO6x sLkYqXkCqfQVxUPglvBl8rjnxIUbWOFApKA+GAACYexvWASLvZ6r415HVLhRPdQvyMc+ /v4zGHSvXk2QRgYNcDRU7A1HVQibXeptfN4L/UDDtBwfQlerXANDGAxxHpAJAKpiTXPg YjXA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=JEOhVvD3DCKSMpPslQoS6MwbFcPq4cPi+/5xCbtZj6Q=; b=p7krbQLskkQa8SBI+hfLInoWtR4a/lnva4Blf0xrZatHYZ6QSnwGTzZomcUcSSG3G6 EVFjkIs5dH+pq9cS74oIaX4kDCzEnKE0AN7NHXlNjGutlWfmNnnhCPW4dg1MZYw2GoJF 3KTqJ16Vr2Cu7s7qJs7AUSXrN5i75XlZ5B/0xZDsZrB/ZiIwN7UqoCmq0UlKXnuJlkUH qFWOrT1yJXB56cvhT61VBr/V8I/YOsEANm7r8z+o7OkenEnZdD68Y4PtUAJeUflOuisb 8nRzCMKipdK2D5pAZtrWhV2qBe1h0PuUB10t9oAFYYMjsuYyop+A5ZcZqHeWqueYD0PT 7veA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="HwxWndY/"; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u12si20099257ilg.116.2021.07.19.11.25.13; Mon, 19 Jul 2021 11:25:24 -0700 (PDT) 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=@linuxfoundation.org header.s=korg header.b="HwxWndY/"; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380790AbhGSRg5 (ORCPT + 99 others); Mon, 19 Jul 2021 13:36:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:47934 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350378AbhGSPu7 (ORCPT ); Mon, 19 Jul 2021 11:50:59 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4B1C461930; Mon, 19 Jul 2021 16:29:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626712155; bh=X4R8njL5MKAV0dEdvOS42Ab4MCRqJX2J981Bla5RjiI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HwxWndY/45xDXPKjluclyU2WEF25l/AgrvtueJcSZ6GDFIaMO39024DVVM3r74Ptw feFkOJRlEaN3+N8JQFo3ugb9ZUqJBLRN+JupcA8FlMublW5pAx0+p23NGHzl/CksOM mYMdzOquyBVLhqc7ccnO13911/9NgBxAcfpXQ6+Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Marek=20Beh=C3=BAn?= , =?UTF-8?q?Pali=20Roh=C3=A1r?= , Andrew Lunn , Gregory CLEMENT , Sasha Levin Subject: [PATCH 5.12 272/292] firmware: turris-mox-rwtm: fix reply status decoding function Date: Mon, 19 Jul 2021 16:55:34 +0200 Message-Id: <20210719144951.862745927@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.514164272@linuxfoundation.org> References: <20210719144942.514164272@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: Marek Behún [ Upstream commit e34e60253d9272311831daed8a2d967cf80ca3dc ] The status decoding function mox_get_status() currently contains an incorrect check: if the error status is not MBOX_STS_SUCCESS, it always returns -EIO, so the comparison to MBOX_STS_FAIL is never executed and we don't get the actual error code sent by the firmware. Fix this. Signed-off-by: Marek Behún Reviewed-by: Pali Rohár Reviewed-by: Andrew Lunn Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver") Signed-off-by: Gregory CLEMENT Signed-off-by: Sasha Levin --- drivers/firmware/turris-mox-rwtm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/turris-mox-rwtm.c b/drivers/firmware/turris-mox-rwtm.c index 62f0d1a5dd32..f85acdb3130c 100644 --- a/drivers/firmware/turris-mox-rwtm.c +++ b/drivers/firmware/turris-mox-rwtm.c @@ -147,11 +147,14 @@ MOX_ATTR_RO(pubkey, "%s\n", pubkey); static int mox_get_status(enum mbox_cmd cmd, u32 retval) { - if (MBOX_STS_CMD(retval) != cmd || - MBOX_STS_ERROR(retval) != MBOX_STS_SUCCESS) + if (MBOX_STS_CMD(retval) != cmd) return -EIO; else if (MBOX_STS_ERROR(retval) == MBOX_STS_FAIL) return -(int)MBOX_STS_VALUE(retval); + else if (MBOX_STS_ERROR(retval) == MBOX_STS_BADCMD) + return -ENOSYS; + else if (MBOX_STS_ERROR(retval) != MBOX_STS_SUCCESS) + return -EIO; else return MBOX_STS_VALUE(retval); } -- 2.30.2