[alsa-devel] [PATCH] ASoC: cs35l35: Stash dev pointer directly rather than CODEC pointer

Austin, Brian Brian.Austin at cirrus.com
Fri Mar 17 21:07:19 CET 2017



On 3/17/17, 10:44 AM, "Charles Keepax" <ckeepax at opensource.wolfsonmicro.com> wrote:

    The driver stashes a CODEC pointer in the cs35l35_private structure,
    which is used to obtain a struct device pointer for error messages in the
    interrupt handler.
    
    However, doing so is not very safe as the interrupt is registered, as it
    should be in bus probe, but the CODEC pointer can't be safely stored until
    the ASoC level probe. This leaves a window between the two probes where if
    any interrupts are received a NULL pointer will be deferenced in the IRQ
    handler.
    
    Fix this issue by saving a pointer to the device directly and passing that
    to the error messages in the interrupt handler rather than using the CODEC
    pointer to access the device pointer.
    
    Signed-off-by: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>
    ---
Acked-by: Brian Austin <brian.austin at cirrus.com> 



More information about the Alsa-devel mailing list