On Mon, Jan 04, 2016 at 05:40:39PM -0500, Ashutosh Dixit wrote: > On Sun, Jan 03 2016 at 10:35:26 PM, "Koul, Vinod" <vinod.koul@xxxxxxxxx> wrote: > > On Tue, Dec 22, 2015 at 07:35:23PM -0800, Ashutosh Dixit wrote: > >> This reverts commit e958e079e254 ("dmaengine: mic_x100: add missing > >> spin_unlock"). > >> > >> The above patch is incorrect. There is nothing wrong with the original > >> code. The spin_lock is acquired in the "prep" functions and released > >> in "submit". > > > > And going by dmaengine sematics, I do not think that is entrely right. > > > > A user may choose to prepare multiple desciptors and then sumbit later, > > looking at code I do not see how that will work. > > > > Please fix that > > The mic_x100_dma driver still allows a client to prepare and submit > multiple descriptors and triggers the hardware only when issue_pending > is called (or a threshold is exceeded). Identical coding patterns exist > in the IOAT dma driver, on which the mic_x100_dma driver is based. > > Further, mic_x100 dma channels are private and used only by other MIC > drivers such as SCIF (drivers/misc/mic/scif). These drivers obviously > alternate prep and submit calls as required by mic_x100_dma. We do not > envisage a wider use of the mic_x100_dma driver at this point. The whole point of using an API is to create standard usages, future clients can come up and your argument is not future proof > > A change such as allowing multiple prep's before a submit requires large > scale changes in the driver. In the absence of a real use case, there is > no plan to make such changes at present. At this point we only want the > driver to be restored to its previously functional state for the 4.4 > kernel. The patch in question results in system lockups so it is a > serious v4.4 regression. I will revert it but please fix the driver.. -- ~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