Message ID | 20201116172233.18459-1-grzegorz.jaszczyk@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] soc: ti: pruss: Fix wrong check against *get_match_data return value | expand |
Hi Santosh, On 11/16/20 11:22 AM, Grzegorz Jaszczyk wrote: > Since the of_device_get_match_data() doesn't return error code, remove > wrong IS_ERR test. Proper check against NULL pointer is already done > later before usage: if (data && data->...). > > Additionally, proceeding with empty device data is valid (e.g. in case > of "ti,am3356-pruss"). > > Fixes: ba59c9b43c86 ("soc: ti: pruss: support CORECLK_MUX and IEPCLK_MUX") > Reported-by: Wei Yongjun <weiyongjun1@huawei.com> > Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org> > Acked-by: Suman Anna <s-anna@ti.com> Can you please pick this up for 5.10-rc's? Thanks, Suman > --- > v1->v2: > - Add the appropriate Fixes: tag. > - %s/Remove/Fix/ in patch title. > - Add Suman's Acked-by. > --- > drivers/soc/ti/pruss.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/drivers/soc/ti/pruss.c b/drivers/soc/ti/pruss.c > index cc0b4ad7a3d3..5d6e7132a5c4 100644 > --- a/drivers/soc/ti/pruss.c > +++ b/drivers/soc/ti/pruss.c > @@ -126,8 +126,6 @@ static int pruss_clk_init(struct pruss *pruss, struct device_node *cfg_node) > int ret = 0; > > data = of_device_get_match_data(dev); > - if (IS_ERR(data)) > - return -ENODEV; > > clks_np = of_get_child_by_name(cfg_node, "clocks"); > if (!clks_np) { > @@ -175,10 +173,6 @@ static int pruss_probe(struct platform_device *pdev) > const char *mem_names[PRUSS_MEM_MAX] = { "dram0", "dram1", "shrdram2" }; > > data = of_device_get_match_data(&pdev->dev); > - if (IS_ERR(data)) { > - dev_err(dev, "missing private data\n"); > - return -ENODEV; > - } > > ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32)); > if (ret) { >
On 11/16/20 9:31 AM, Suman Anna wrote: > Hi Santosh, > > On 11/16/20 11:22 AM, Grzegorz Jaszczyk wrote: >> Since the of_device_get_match_data() doesn't return error code, remove >> wrong IS_ERR test. Proper check against NULL pointer is already done >> later before usage: if (data && data->...). >> >> Additionally, proceeding with empty device data is valid (e.g. in case >> of "ti,am3356-pruss"). >> >> Fixes: ba59c9b43c86 ("soc: ti: pruss: support CORECLK_MUX and IEPCLK_MUX") >> Reported-by: Wei Yongjun <weiyongjun1@huawei.com> >> Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org> >> Acked-by: Suman Anna <s-anna@ti.com> > > Can you please pick this up for 5.10-rc's? > Nothing is broken so I will just add these for next merge window. Regards, Santosh
On 11/16/20 1:06 PM, santosh.shilimkar@oracle.com wrote: > On 11/16/20 9:31 AM, Suman Anna wrote: >> Hi Santosh, >> >> On 11/16/20 11:22 AM, Grzegorz Jaszczyk wrote: >>> Since the of_device_get_match_data() doesn't return error code, remove >>> wrong IS_ERR test. Proper check against NULL pointer is already done >>> later before usage: if (data && data->...). >>> >>> Additionally, proceeding with empty device data is valid (e.g. in case >>> of "ti,am3356-pruss"). >>> >>> Fixes: ba59c9b43c86 ("soc: ti: pruss: support CORECLK_MUX and IEPCLK_MUX") >>> Reported-by: Wei Yongjun <weiyongjun1@huawei.com> >>> Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org> >>> Acked-by: Suman Anna <s-anna@ti.com> >> >> Can you please pick this up for 5.10-rc's? >> > Nothing is broken so I will just add these for next merge window. Yeah, that is fine as well. Thanks Santosh. regards Suman
diff --git a/drivers/soc/ti/pruss.c b/drivers/soc/ti/pruss.c index cc0b4ad7a3d3..5d6e7132a5c4 100644 --- a/drivers/soc/ti/pruss.c +++ b/drivers/soc/ti/pruss.c @@ -126,8 +126,6 @@ static int pruss_clk_init(struct pruss *pruss, struct device_node *cfg_node) int ret = 0; data = of_device_get_match_data(dev); - if (IS_ERR(data)) - return -ENODEV; clks_np = of_get_child_by_name(cfg_node, "clocks"); if (!clks_np) { @@ -175,10 +173,6 @@ static int pruss_probe(struct platform_device *pdev) const char *mem_names[PRUSS_MEM_MAX] = { "dram0", "dram1", "shrdram2" }; data = of_device_get_match_data(&pdev->dev); - if (IS_ERR(data)) { - dev_err(dev, "missing private data\n"); - return -ENODEV; - } ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32)); if (ret) {