Hi Peter, On Thu, Jan 30, 2020 at 12:41 PM Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote: > No need to use goto to jump over the > return chan ? chan : ERR_PTR(-EPROBE_DEFER); > We can just revert the check and return right there. > > Do not fail the channel request if the chan->name allocation fails, but > print a warning about it. > > Change the dev_err to dev_warn if sysfs_create_link() fails as it is not > fatal. > > Only attempt to remove the DMA_SLAVE_NAME symlink if it is created - or it > was attempted to be created. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Thanks for your patch! > --- a/drivers/dma/dmaengine.c > +++ b/drivers/dma/dmaengine.c > @@ -756,22 +756,24 @@ struct dma_chan *dma_request_chan(struct device *dev, const char *name) > } > mutex_unlock(&dma_list_mutex); > > - if (!IS_ERR_OR_NULL(chan)) > - goto found; > - > - return chan ? chan : ERR_PTR(-EPROBE_DEFER); > + if (IS_ERR_OR_NULL(chan)) > + return chan ? chan : ERR_PTR(-EPROBE_DEFER); > > found: > - chan->slave = dev; > chan->name = kasprintf(GFP_KERNEL, "dma:%s", name); > - if (!chan->name) > - return ERR_PTR(-ENOMEM); > + if (!chan->name) { > + dev_warn(dev, > + "Cannot allocate memory for slave symlink name\n"); No need to print a message, as the memory allocator core will have screamed already. > + return chan; > + } > + chan->slave = dev; > > if (sysfs_create_link(&chan->dev->device.kobj, &dev->kobj, > DMA_SLAVE_NAME)) > - dev_err(dev, "Cannot create DMA %s symlink\n", DMA_SLAVE_NAME); > + dev_warn(dev, "Cannot create DMA %s symlink\n", DMA_SLAVE_NAME); > if (sysfs_create_link(&dev->kobj, &chan->dev->device.kobj, chan->name)) > - dev_err(dev, "Cannot create DMA %s symlink\n", chan->name); > + dev_warn(dev, "Cannot create DMA %s symlink\n", chan->name); > + > return chan; > } > EXPORT_SYMBOL_GPL(dma_request_chan); With the above fixed: Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds