Re: [PATCH 26/32] dmaengine: s3c24xx: kill the tasklets upon exit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 06, 2016 at 11:08:20AM +0200, Krzysztof Kozlowski wrote:
> On Tue, Jul 5, 2016 at 4:54 PM, Vinod Koul <vinod.koul@xxxxxxxxx> wrote:
> > drivers should ensure that tasklets are killed, so that they can't be
> > executed after driver remove is executed, so ensure they are killed.
> >
> > This driver used vchan tasklets, so those need to be killed.
> >
> > Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
> > Cc: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx>
> > ---
> >  drivers/dma/s3c24xx-dma.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/dma/s3c24xx-dma.c b/drivers/dma/s3c24xx-dma.c
> > index 163d95f339e6..ce67075589f5 100644
> > --- a/drivers/dma/s3c24xx-dma.c
> > +++ b/drivers/dma/s3c24xx-dma.c
> > @@ -1136,8 +1136,10 @@ static void s3c24xx_dma_free_virtual_channels(struct dma_device *dmadev)
> >         struct s3c24xx_dma_chan *next;
> >
> >         list_for_each_entry_safe(chan,
> > -                                next, &dmadev->channels, vc.chan.device_node)
> > +                                next, &dmadev->channels, vc.chan.device_node) {
> >                 list_del(&chan->vc.chan.device_node);
> > +               tasklet_kill(&chan->vc.task);
> > +       }
> >  }
> 
> Looks correct:
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>

Thanks,


> 
> Unrelated to the patch: this looks obfuscated that driver uses
> virt-dma helper for init but has to clean up on its own. Some helper
> vchan_exit() or vchan_free() would be useful here.

Yes that's next in my queue.. This became a bit bigger so wanted to finsih
this out before I start those. There are few more drivers that need it.

-- 
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux