mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-21 15:25:36 +03:00
Handle NULL SPI instance before calling spiBusSetInstance
This commit is contained in:
parent
a252b1cb7e
commit
9690f37b46
1 changed files with 3 additions and 6 deletions
|
@ -225,14 +225,11 @@ static gyroSpiDetectFn_t gyroSpiDetectFnTable[] = {
|
||||||
|
|
||||||
static bool detectSPISensorsAndUpdateDetectionResult(gyroDev_t *gyro, const gyroDeviceConfig_t *config)
|
static bool detectSPISensorsAndUpdateDetectionResult(gyroDev_t *gyro, const gyroDeviceConfig_t *config)
|
||||||
{
|
{
|
||||||
gyro->bus.bustype = BUSTYPE_SPI;
|
SPI_TypeDef *instance = spiInstanceByDevice(SPI_CFG_TO_DEV(config->spiBus));
|
||||||
|
if (!instance) {
|
||||||
spiBusSetInstance(&gyro->bus, spiInstanceByDevice(SPI_CFG_TO_DEV(config->spiBus)));
|
|
||||||
|
|
||||||
// SPI instance may be NULL if the bus is non-existent
|
|
||||||
if (!gyro->bus.busdev_u.spi.instance) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
spiBusSetInstance(&gyro->bus, instance);
|
||||||
|
|
||||||
gyro->bus.busdev_u.spi.csnPin = IOGetByTag(config->csnTag);
|
gyro->bus.busdev_u.spi.csnPin = IOGetByTag(config->csnTag);
|
||||||
IOInit(gyro->bus.busdev_u.spi.csnPin, OWNER_GYRO_CS, RESOURCE_INDEX(config->index));
|
IOInit(gyro->bus.busdev_u.spi.csnPin, OWNER_GYRO_CS, RESOURCE_INDEX(config->index));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue