RE: [PATCH 3/4] dpaa_eth: change device used
From: Madalin-cristian Bucur
Date: Thu Oct 12 2017 - 05:11:12 EST
> -----Original Message-----
> From: David Miller [mailto:davem@xxxxxxxxxxxxx]
> Sent: Thursday, October 12, 2017 12:02 AM
> To: Madalin-cristian Bucur <madalin.bucur@xxxxxxx>
> Subject: Re: [PATCH 3/4] dpaa_eth: change device used
>
> From: Madalin Bucur <madalin.bucur@xxxxxxx>
> Date: Tue, 10 Oct 2017 17:10:17 +0300
>
> > @@ -2696,7 +2681,13 @@ static int dpaa_eth_probe(struct platform_device
> *pdev)
> > int err = 0, i, channel;
> > struct device *dev;
> >
> > - dev = &pdev->dev;
> > + /* device used for DMA mapping */
> > + dev = pdev->dev.parent;
> > + err = dma_coerce_mask_and_coherent(dev, DMA_BIT_MASK(40));
> > + if (err) {
> > + dev_err(dev, "dma_coerce_mask_and_coherent() failed\n");
> > + goto dev_mask_failed;
> > + }
> >
> > /* Allocate this early, so we can store relevant information in
> > * the private area
>
> Since you are moving this code up before the netdev allocation, you must
> adjust the failure path goto label used.
>
> Your change as-is will cause an OOPS because we'll pass a NULL pointer
> to free_netdev().
Thank you, besides this new issue I was introducing I see there other problems,
I'll include a cleanup of these error paths in v2.
Madalin