On 03/04/15 15:50, Geert Uytterhoeven wrote: > If sh_mobile_lcdc_probe() fails after the allocation of driver-private > data, but before the initialization of all channels, a warning will be > printed due to the destruction of an uninitialized mutex: > > WARNING: CPU: 0 PID: 1 at kernel/locking/mutex-debug.c:116 mutex_destroy+0x5c/0x7c() > DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock)) > ... > Backtrace: > ... > [<c00425b4>] (mutex_destroy) from [<c01d5858>] (sh_mobile_lcdc_remove+0x1bc/0x230) > r4:df6a4800 r3:00000000 > [<c01d569c>] (sh_mobile_lcdc_remove) from [<c01d6620>] (sh_mobile_lcdc_probe+0xd54/0xe28) > > Move the initialization of the mutexes from sh_mobile_lcdc_channel_init() > to immediately after the allocation of driver-private data to fix this. > > Note that the interrupt number is moved to a new variable "irq", so we > can reuse the existing variable "i" for iterating over the channels. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- > drivers/video/fbdev/sh_mobile_lcdcfb.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) Thanks, queued for 4.1. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature