forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/pinctrl/freescale/pinctrl-mxs.c
....@@ -488,8 +488,10 @@
488488 if (of_property_read_u32(child, "reg", &val)) {
489489 ret = mxs_pinctrl_parse_group(pdev, child,
490490 idxg++, NULL);
491
- if (ret)
491
+ if (ret) {
492
+ of_node_put(child);
492493 return ret;
494
+ }
493495 continue;
494496 }
495497
....@@ -499,15 +501,19 @@
499501 f->ngroups,
500502 sizeof(*f->groups),
501503 GFP_KERNEL);
502
- if (!f->groups)
504
+ if (!f->groups) {
505
+ of_node_put(child);
503506 return -ENOMEM;
507
+ }
504508 fn = child->name;
505509 i = 0;
506510 }
507511 ret = mxs_pinctrl_parse_group(pdev, child, idxg++,
508512 &f->groups[i++]);
509
- if (ret)
513
+ if (ret) {
514
+ of_node_put(child);
510515 return ret;
516
+ }
511517 }
512518
513519 return 0;
....@@ -556,4 +562,3 @@
556562 iounmap(d->base);
557563 return ret;
558564 }
559
-EXPORT_SYMBOL_GPL(mxs_pinctrl_probe);