Skip to content

Commit

Permalink
soc: fsl: guts: reuse machine name from device tree
Browse files Browse the repository at this point in the history
Reuse the string machine from the device tree data structure instead
of duplicating the data again.  This also prevents a potential memory
allocation failure that was not handled previously.  Also fixes an early
put of root device node.

Reported-by: Nicholas Mc Guire <hofrat@osadl.org>
Signed-off-by: Li Yang <leoyang.li@nxp.com>
  • Loading branch information
Li Yang committed Jan 11, 2019
1 parent 8a533a7 commit 3c0d64e
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions drivers/soc/fsl/guts.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ struct fsl_soc_die_attr {
static struct guts *guts;
static struct soc_device_attribute soc_dev_attr;
static struct soc_device *soc_dev;
static struct device_node *root;


/* SoC die attribute definition for QorIQ platform */
Expand Down Expand Up @@ -132,7 +133,7 @@ EXPORT_SYMBOL(fsl_guts_get_svr);

static int fsl_guts_probe(struct platform_device *pdev)
{
struct device_node *root, *np = pdev->dev.of_node;
struct device_node *np = pdev->dev.of_node;
struct device *dev = &pdev->dev;
struct resource *res;
const struct fsl_soc_die_attr *soc_die;
Expand All @@ -155,9 +156,8 @@ static int fsl_guts_probe(struct platform_device *pdev)
root = of_find_node_by_path("/");
if (of_property_read_string(root, "model", &machine))
of_property_read_string_index(root, "compatible", 0, &machine);
of_node_put(root);
if (machine)
soc_dev_attr.machine = devm_kstrdup(dev, machine, GFP_KERNEL);
soc_dev_attr.machine = machine;

svr = fsl_guts_get_svr();
soc_die = fsl_soc_die_match(svr, fsl_soc_die);
Expand Down Expand Up @@ -192,6 +192,7 @@ static int fsl_guts_probe(struct platform_device *pdev)
static int fsl_guts_remove(struct platform_device *dev)
{
soc_device_unregister(soc_dev);
of_node_put(root);
return 0;
}

Expand Down

0 comments on commit 3c0d64e

Please sign in to comment.