summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2020-08-27 10:31:28 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-10-29 11:57:52 +0300
commit180cf2e5f722e7125516f51803086394334cda4b (patch)
treecd6883ee12f8ad145db34859ebe5293580082baf
parente7f0b9ab8b7d49dd28aece9ee598f1faada34380 (diff)
downloadlinux-180cf2e5f722e7125516f51803086394334cda4b.tar.xz
maiblox: mediatek: Fix handling of platform_get_irq() error
[ Upstream commit 558e4c36ec9f2722af4fe8ef84dc812bcdb5c43a ] platform_get_irq() returns -ERRNO on error. In such case casting to u32 and comparing to 0 would pass the check. Fixes: 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver") Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/mailbox/mtk-cmdq-mailbox.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index 9a6ce9f5a7db..3c8b365ce635 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -70,7 +70,7 @@ struct cmdq_task {
struct cmdq {
struct mbox_controller mbox;
void __iomem *base;
- u32 irq;
+ int irq;
u32 thread_nr;
u32 irq_mask;
struct cmdq_thread *thread;
@@ -474,10 +474,8 @@ static int cmdq_probe(struct platform_device *pdev)
}
cmdq->irq = platform_get_irq(pdev, 0);
- if (!cmdq->irq) {
- dev_err(dev, "failed to get irq\n");
- return -EINVAL;
- }
+ if (cmdq->irq < 0)
+ return cmdq->irq;
cmdq->thread_nr = (u32)(unsigned long)of_device_get_match_data(dev);
cmdq->irq_mask = GENMASK(cmdq->thread_nr - 1, 0);