On Fri, Aug 05, 2016 at 09:30:50AM -0700, Viresh Kumar wrote: > On 03-08-16, 21:34, Greg Kroah-Hartman wrote: > > To follow up on this, as you found out, this patch breaks working > > hardware, so please don't apply it anywhere. It needs more debugging to > > figure out exactly what is going on with some very strange hardware that > > seems to be relying on some strange code... > > Thanks for your email Greg, and I know what the issue is. > > So, the dmaengine core actually allows registering a device without any channels > and the dma driver can add channels later (directly to the dma-device channel > list), for example, from the of-xlate callback once someone requests for a > channel. I do not think that is good idea > Though its not the right way of doing things, but it still works. The only thing > which breaks in that case is sysfs interface to dmaengine as the channels aren't > registered as devices and so they aren't visible in userspace, as that code is > *only* executed while the dma-device is registered. > > I think its dmaengine core's decision to keep supporting such drivers or not and > so I would like Vinod to comment on that.. My view would be to ensure that controllers have channels before they register. If they dont, then please register later. > But if we do want to support such drivers, then the core must be updated to fix > the memleak I reported here, as idr_ref is allocated and not used at all (also > dma-id allocated for it). > > Or provide another API to properly and fully add channels at a later point of > time. And looking at drivers, I am not seeing anyone who needs such a support, so am not inclined to support such a feature atm. -- ~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