Messages in this thread | | | From | Lu Jingchang-B35083 <> | Subject | RE: [PATCH v2 3/3] dma: Add Freescale eDMA engine driver support | Date | Tue, 6 Aug 2013 05:15:54 +0000 |
| |
> -----Original Message----- > From: Vinod Koul [mailto:vinod.koul@intel.com] > Sent: Tuesday, August 06, 2013 12:25 PM > To: Lu Jingchang-B35083 > Cc: djbw@fb.com; shawn.guo@linaro.org; linux-kernel@vger.kernel.org; > linux-arm-kernel@lists.infradead.org; Wang Huan-B18965; Li Xiaochun- > B41219 > Subject: Re: [PATCH v2 3/3] dma: Add Freescale eDMA engine driver support > > On Tue, Aug 06, 2013 at 01:24:31AM +0000, Lu Jingchang-B35083 wrote: > > > -----Original Message----- > > > From: Vinod Koul [mailto:vinod.koul@intel.com] > > > Sent: Tuesday, August 06, 2013 12:35 AM > > > To: Lu Jingchang-B35083 > > > Cc: djbw@fb.com; shawn.guo@linaro.org; linux-kernel@vger.kernel.org; > > > linux-arm-kernel@lists.infradead.org; Wang Huan-B18965; Li Xiaochun- > > > B41219 > > > Subject: Re: [PATCH v2 3/3] dma: Add Freescale eDMA engine driver > > > support > > > > + > > > > +static void fsl_edma_free_desc(struct virt_dma_desc *vdesc) { > > > > + struct fsl_edma_desc *fsl_desc; > > > > + int i; > > > > + > > > > + fsl_desc = to_fsl_edma_desc(vdesc); > > > > + for (i = 0; i < fsl_desc->n_tcds; i++) > > > > + dma_pool_free(fsl_desc->echan->tcd_pool, > > > > + fsl_desc->tcd[i].vtcd, > > > > + fsl_desc->tcd[i].ptcd); > > > > + kfree(fsl_desc); > > > should this be called with lock held or not? > > [Lu Jingchang-B35083] > > The desc list to be freed is got with lock held, and the free for each > desc is independent, and the lock is not needed. Thanks. > Would be apt to add this comment in the code, so that people know this > function needs to be always called with lock held! [Lu Jingchang-B35083] Sorry, this function is called without lock held, I mean that the free() doesn't need the lock held, just as other drivers do. It is called from vchan_free_chan_resources(). Thanks!
Best Regards, Jingchang
| |