Hello Laurent Pinchart, This is a semi-automatic email about new static checker warnings.
The patch 64549cdf85a1: "drm: rcar-du: Clarify error message when encoder initialization fails" from May 26, 2015, leads to the following Smatch complaint: drivers/gpu/drm/rcar-du/rcar_du_kms.c:651 rcar_du_encoders_init_one() error: we previously assumed 'encoder' could be null (see line 613) drivers/gpu/drm/rcar-du/rcar_du_kms.c 612 613 if (encoder) { ^^^^^^^ Check for NULL. 614 /* 615 * If an encoder has been found, get its type based on its 616 * compatible string. 617 */ 618 unsigned int i; 619 620 for (i = 0; i < ARRAY_SIZE(encoders); ++i) { 621 if (of_device_is_compatible(encoder, 622 encoders[i].compatible)) { 623 enc_type = encoders[i].type; 624 break; 625 } 626 } 627 628 if (i == ARRAY_SIZE(encoders)) { 629 dev_warn(rcdu->dev, 630 "unknown encoder type for %s, skipping\n", 631 encoder->full_name); 632 of_node_put(encoder); 633 of_node_put(connector); 634 return -EINVAL; 635 } 636 } else { 637 /* 638 * If no encoder has been found the entity must be the 639 * connector. 640 */ 641 connector = entity; 642 } 643 644 ret = rcar_du_encoder_init(rcdu, enc_type, output, encoder, connector); 645 of_node_put(encoder); ^^^^^^^ Free? 646 of_node_put(connector); 647 648 if (ret && ret != -EPROBE_DEFER) 649 dev_warn(rcdu->dev, 650 "failed to initialize encoder %s (%d), skipping\n", 651 encoder->full_name, ret); ^^^^^^^^^^^^^^^^^^ Unchecked dereference. 652 653 return ret; regards, dan carpenter