Home
last modified time | relevance | path

Searched hist:"5 d3d0ad688eacf9567d7d67a5eec3c436cc1064c" (Results 1 – 2 of 2) sorted by relevance

/openbmc/linux/sound/soc/codecs/
H A Dcs35l35.hdiff 5d3d0ad688eacf9567d7d67a5eec3c436cc1064c Fri Mar 17 10:44:55 CDT 2017 Charles Keepax <ckeepax@opensource.wolfsonmicro.com> ASoC: cs35l35: Stash dev pointer directly rather than CODEC pointer

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@opensource.wolfsonmicro.com>

Signed-off-by: Mark Brown <broonie@kernel.org>
H A Dcs35l35.cdiff 5d3d0ad688eacf9567d7d67a5eec3c436cc1064c Fri Mar 17 10:44:55 CDT 2017 Charles Keepax <ckeepax@opensource.wolfsonmicro.com> ASoC: cs35l35: Stash dev pointer directly rather than CODEC pointer

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@opensource.wolfsonmicro.com>

Signed-off-by: Mark Brown <broonie@kernel.org>