[PATCH RESEND v5 1/2] dma: imx-dma: Add oftree support

Markus Pargmann mpa at pengutronix.de
Fri Apr 19 02:02:08 EST 2013


On Thu, Apr 18, 2013 at 05:14:37PM +0200, Lars-Peter Clausen wrote:
> Hi,
> 
> On 04/18/2013 03:21 PM, Markus Pargmann wrote:
> [...]
> > +static struct dma_chan *imxdma_xlate(struct of_phandle_args *dma_spec,
> > +						struct of_dma *ofdma)
> > +{
> > +	int count = dma_spec->args_count;
> > +	struct imxdma_engine *imxdma = ofdma->of_dma_data;
> > +	struct imxdma_filter_data fdata = {
> > +		.imxdma = imxdma,
> > +		.request = *(unsigned *)&dma_spec->args[0],
> 
> This cast looks rather bogus and shouldn't be necessary.

Ah right, I was assuming "args" is void*.

> 
> > +	};
> > +
> > +	if (count != 1)
> > +		return NULL;
> 
> I think you need to check count before you access dma_spec->args[0]

dma_spec->args is actually a static array of size MAX_PHANDLE_ARGS.
However it is probably cleaner after the check, so I changed both.

Thanks,

Markus

> 
> > +
> > +	return dma_request_channel(imxdma->dma_device.cap_mask,
> > +					imxdma_filter_fn, &fdata);
> > +}
> > +
> [...]
> 
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


More information about the devicetree-discuss mailing list