]> git.baikalelectronics.ru Git - kernel.git/commit
spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers
authorLucas Stach <l.stach@pengutronix.de>
Mon, 16 Oct 2017 10:27:58 +0000 (12:27 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 3 Nov 2017 11:08:18 +0000 (12:08 +0100)
commitab44a042805ad61b2bf60834f8a55068b968f33d
tree376cb9998dad3d0a96934a095703d3128fe17fb3
parent308fa1311fda24bab7070d8d625f18750a99b597
spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers

On systems where some controllers get a dynamic ID assigned and some have
a fixed number from DT, the current implemention might run into an IDR
collision if the dynamic controllers gets probed first and get an IDR number,
which is later requested by the controller with the fixed numbering. When
this happens the fixed controller will fail to register with the SPI core.

Fix this by skipping all known alias numbers when assigning the dynamic IDs.

Fixes: f523548b093a (spi: Pick spi bus number from Linux idr or spi alias)
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c