Hi, On 26.11.21 at 16:28, Greg KH wrote: > On Fri, Nov 26, 2021 at 03:39:25PM +0100, Lino Sanfilippo wrote: >> The driver attempts to request and release the IO memory region for a uart >> port twice: >> >> First during the probe() function devm_ioremap_resource() is used to >> allocate and map the ports memory. >> Then a combo of pl011_config_port() and pl011_release_port() is used to >> request/release the same memory area. These functions are called by the >> serial core as soon as the uart is registered/unregistered. >> >> However since the allocation request via devm_ioremap_resource() already >> succeeds, the attempt to claim the memory again via pl011_config_port() >> fails. This failure remains unnoticed, since the concerning return value is >> not evaluated. >> Later at module unload also the attempt to release the unclaimed memory >> in pl011_release_port() fails. This time the failure results in a “Trying >> to free nonexistent resource" warning printed by the serial core. >> >> Fix these issues by removing the callbacks that implement the redundant >> memory allocation/release. >> >> Signed-off-by: Lino Sanfilippo <LinoSanfilippo@xxxxxx> >> --- >> >> This patch was tested on a 5.10 Raspberry Pi kernel with a CM3. > > What commit id does this change fix? > > thanks, > > greg k-h > AFAICS its commit 3873e2d7f63a ("drivers: PL011: refactor pl011_probe()") which changed devm_ioremap() in pl011_setup_port() to devm_ioremap_resource(). Since the latter not only remaps but also requests the memory region it collides with the memory request in pl011_config_port(). I will add an appropriate Fixes tag for this. Regards, Lino