• Jon Medhurst (Tixy)'s avatar
    component: Detach components when deleting master struct · 57480484
    Jon Medhurst (Tixy) authored
    component_master_add_with_match calls find_components which, if any
    components already exist, it attaches to the master struct. However, if
    we later encounter an error the master struct is deleted, leaving
    components with a dangling pointer to it.
    
    If the error was a temporary one, e.g. for probe deferral, then when
    the master device is re-probed, it will fail to find the required
    components as they appear to already be attached to a master.
    
    Fix this by nulling components pointers to the master struct when it is
    deleted. This code is factored out into a separate function so it can be
    shared with component_master_del.
    Signed-off-by: default avatarJon Medhurst <tixy@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    57480484
component.c 11.7 KB