From: Sergio Paracuellos <[email protected]>

Driver probe function includes an allocation using devm_kzalloc
which is "hidden" a bit inside the declarations. Extract this
to a better place to increase readability. Also because we are
allocating zeroed memory 'memset' statement is not needed at all.
Condition for checking for a valid gpio id is wrong and it should
be greater or equal instead of only greater so update to be the
good one.

Signed-off-by: Sergio Paracuellos <[email protected]>
Reviewed-by: NeilBrown <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 .../ramips/files-4.14/drivers/gpio/gpio-mt7621.c      | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/target/linux/ramips/files-4.14/drivers/gpio/gpio-mt7621.c 
b/target/linux/ramips/files-4.14/drivers/gpio/gpio-mt7621.c
index 077a7c24df..bbe6cce56d 100644
--- a/target/linux/ramips/files-4.14/drivers/gpio/gpio-mt7621.c
+++ b/target/linux/ramips/files-4.14/drivers/gpio/gpio-mt7621.c
@@ -156,17 +156,18 @@ mediatek_gpio_bank_probe(struct platform_device *pdev, 
struct device_node *bank)
 {
        struct mtk_data *gpio_data = dev_get_drvdata(&pdev->dev);
        const __be32 *id = of_get_property(bank, "reg", NULL);
-       struct mtk_gc *rg = devm_kzalloc(&pdev->dev,
-                               sizeof(struct mtk_gc), GFP_KERNEL);
+       struct mtk_gc *rg;
        int ret;
 
-       if (!rg || !id || be32_to_cpu(*id) > MTK_MAX_BANK)
+       if (!id || be32_to_cpu(*id) >= MTK_MAX_BANK)
+               return -EINVAL;
+
+       rg = devm_kzalloc(&pdev->dev, sizeof(struct mtk_gc), GFP_KERNEL);
+       if (!rg)
                return -ENOMEM;
 
        gpio_data->gc_map[be32_to_cpu(*id)] = rg;
 
-       memset(rg, 0, sizeof(struct mtk_gc));
-
        spin_lock_init(&rg->lock);
 
        rg->chip.parent = &pdev->dev;
-- 
2.17.0


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/listinfo/openwrt-devel

Reply via email to