Message ID | 20200827182507.4938-1-krzk@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] mailbox: mediatek: Fix handling of platform_get_irq() error | expand |
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 <krzk@kernel.org> > > --- > > 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
Krzysztof Kozlowski <krzk@kernel.org> 於 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 <chunkuang.hu@kernel.org> > Fixes: 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver") > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > --- > > 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 > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek
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) {
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> --- 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(-)