提交 1a1a867e 编写于 作者: M Marek Behún 提交者: Zheng Zengkai

firmware: turris-mox-rwtm: report failures better

stable inclusion
from stable-5.10.52
commit ddf380b0941f22db3e95a67f53c42289012a2d0e
bugzilla: 175542 https://gitee.com/openeuler/kernel/issues/I4DTKU

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ddf380b0941f22db3e95a67f53c42289012a2d0e

--------------------------------

[ Upstream commit 72f99888 ]

Report a notice level message if a command is not supported by the rWTM
firmware.

This should not be an error, merely a notice, because the firmware can
be used on boards that do not have manufacturing information burned.

Fixes: 389711b3 ("firmware: Add Turris Mox rWTM firmware driver")
Signed-off-by: NMarek Behún <kabel@kernel.org>
Reviewed-by: NPali Rohár <pali@kernel.org>
Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
Signed-off-by: NGregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Acked-by: NWeilong Chen <chenweilong@huawei.com>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 5e576f9f
...@@ -204,11 +204,14 @@ static int mox_get_board_info(struct mox_rwtm *rwtm) ...@@ -204,11 +204,14 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
return ret; return ret;
ret = mox_get_status(MBOX_CMD_BOARD_INFO, reply->retval); ret = mox_get_status(MBOX_CMD_BOARD_INFO, reply->retval);
if (ret < 0 && ret != -ENODATA) { if (ret == -ENODATA) {
return ret;
} else if (ret == -ENODATA) {
dev_warn(rwtm->dev, dev_warn(rwtm->dev,
"Board does not have manufacturing information burned!\n"); "Board does not have manufacturing information burned!\n");
} else if (ret == -ENOSYS) {
dev_notice(rwtm->dev,
"Firmware does not support the BOARD_INFO command\n");
} else if (ret < 0) {
return ret;
} else { } else {
rwtm->serial_number = reply->status[1]; rwtm->serial_number = reply->status[1];
rwtm->serial_number <<= 32; rwtm->serial_number <<= 32;
...@@ -237,10 +240,13 @@ static int mox_get_board_info(struct mox_rwtm *rwtm) ...@@ -237,10 +240,13 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
return ret; return ret;
ret = mox_get_status(MBOX_CMD_ECDSA_PUB_KEY, reply->retval); ret = mox_get_status(MBOX_CMD_ECDSA_PUB_KEY, reply->retval);
if (ret < 0 && ret != -ENODATA) { if (ret == -ENODATA) {
return ret;
} else if (ret == -ENODATA) {
dev_warn(rwtm->dev, "Board has no public key burned!\n"); dev_warn(rwtm->dev, "Board has no public key burned!\n");
} else if (ret == -ENOSYS) {
dev_notice(rwtm->dev,
"Firmware does not support the ECDSA_PUB_KEY command\n");
} else if (ret < 0) {
return ret;
} else { } else {
u32 *s = reply->status; u32 *s = reply->status;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册