On Fri, Jan 03, 2020 at 11:23:47AM +0100, Stephan Gerhold wrote: > On Thu, Jan 02, 2020 at 11:05:37PM +0100, Greg Kroah-Hartman wrote: > > From: Lee Jones <lee.jones@xxxxxxxxxx> > > > > [ Upstream commit 6b5c350648b857047b47acf74a57087ad27d6183 ] > > > > Until now, MFD has assumed all child devices passed to it (via > > mfd_cells) are to be registered. It does not take into account > > requests from Device Tree and the like to disable child devices > > on a per-platform basis. > > > > Well now it does. > > > > Link: https://www.spinics.net/lists/arm-kernel/msg366309.html > > Link: https://lkml.org/lkml/2019/8/22/1350 > > As far as I understand it, this commit is not suitable for backporting. > The link above explains the problem for a similar patch: > > But I believe this would introduce a rather ugly bug in > mfd_remove_devices() if the first sub-device is set to disabled: > It iterates over the children devices to find the base address > of the allocated "usage count" array, which is then used to free it. > If the first sub-device is missing, it would free the wrong address. > > This problem does not exist in mainline because the MFD usage counting > was removed entirely as part of the larger "Simplify MFD Core" series [1]. > > None of the device trees in the stable kernels should depend on > disabling MFD devices from the device tree. (They were written at a time > when the MFD core ignored that request entirely...) > Therefore, I would suggest to drop this patch entirely. Thanks for catching this, now dropped from all stable queues. greg k-h