2020-08-27 18:26:24

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v3] mailbox: mediatek: Fix handling of platform_get_irq() error

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 <[email protected]>

---

Changes since v2:
1. Fix subject.

Changes since v1:
1. Correct u32->int,
2. Fix left-over '!'.
---
drivers/mailbox/mtk-cmdq-mailbox.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index 484d4438cd83..5665b6ea8119 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -69,7 +69,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;
@@ -525,10 +525,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;

plat_data = (struct gce_plat *)of_device_get_match_data(dev);
if (!plat_data) {
--
2.17.1


2020-10-02 16:33:03

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] mailbox: mediatek: Fix handling of platform_get_irq() error

On Thu, Aug 27, 2020 at 08:25:07PM +0200, Krzysztof Kozlowski wrote:
> 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 <[email protected]>
>
> ---
>
> Changes since v2:
> 1. Fix subject.
>
> Changes since v1:
> 1. Correct u32->int,
> 2. Fix left-over '!'.
> ---
> drivers/mailbox/mtk-cmdq-mailbox.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)

Any comments here? This is a bugfix.

Best regards,
Krzysztof

2020-10-03 03:30:15

by Chun-Kuang Hu

[permalink] [raw]
Subject: Re: [PATCH v3] mailbox: mediatek: Fix handling of platform_get_irq() error

Krzysztof Kozlowski <[email protected]> 於 2020年8月28日 週五 上午2:25寫道:
>
> platform_get_irq() returns -ERRNO on error. In such case casting to u32
> and comparing to 0 would pass the check.
>

Reviewed-by: Chun-Kuang Hu <[email protected]>

> Fixes: 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver")
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v2:
> 1. Fix subject.
>
> Changes since v1:
> 1. Correct u32->int,
> 2. Fix left-over '!'.
> ---
> drivers/mailbox/mtk-cmdq-mailbox.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
> index 484d4438cd83..5665b6ea8119 100644
> --- a/drivers/mailbox/mtk-cmdq-mailbox.c
> +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
> @@ -69,7 +69,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;
> @@ -525,10 +525,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;
>
> plat_data = (struct gce_plat *)of_device_get_match_data(dev);
> if (!plat_data) {
> --
> 2.17.1
>
>
> _______________________________________________
> Linux-mediatek mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-mediatek