We haven't allocated the dma buffer at this point and also if we "goto err_free_dma;" then it leads to a NULL dereference. Just return directly. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- I can't compile this file. diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c index d9a2677..0e9e835 100644 --- a/drivers/dma/mv_xor.c +++ b/drivers/dma/mv_xor.c @@ -1029,10 +1029,8 @@ mv_xor_channel_add(struct mv_xor_device *xordev, struct dma_device *dma_dev; mv_chan = devm_kzalloc(&pdev->dev, sizeof(*mv_chan), GFP_KERNEL); - if (!mv_chan) { - ret = -ENOMEM; - goto err_free_dma; - } + if (!mv_chan) + return ERR_PTR(-ENOMEM); mv_chan->idx = idx; mv_chan->irq = irq; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html