Re: [PATCH v2 2/3] dmaengine: altera-msgdma: cleanup after completing all descriptors

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

 



…
> This fixes a Sparse warning because we first take the lock in
> msgdma_tasklet.
…

Can the tag “Fixes” become relevant for the proposed change?


…
> +++ b/drivers/dma/altera-msgdma.c
> @@ -585,6 +585,8 @@ static void msgdma_chan_desc_cleanup(struct msgdma_device *mdev)
>  	struct msgdma_sw_desc *desc, *next;
>  	unsigned long irqflags;
>
> +	spin_lock_irqsave(&mdev->lock, irqflags);
> +
>  	list_for_each_entry_safe(desc, next, &mdev->done_list, node) {
>  		struct dmaengine_desc_callback cb;
>
> @@ -600,6 +602,8 @@ static void msgdma_chan_desc_cleanup(struct msgdma_device *mdev)
>  		/* Run any dependencies, then free the descriptor */
>  		msgdma_free_descriptor(mdev, desc);
>  	}
> +
> +	spin_unlock_irqrestore(&mdev->lock, irqflags);
>  }
…

Would you become interested to apply the guard “spinlock_irqsave”?
https://elixir.bootlin.com/linux/v6.10-rc2/source/include/linux/spinlock.h#L574

Regards,
Markus





[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