mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-18 00:33:09 +00:00
Revert "Revert changes due to Null pointer dereference"
This reverts commit 8f752b7eee
.
This commit is contained in:
parent
8f752b7eee
commit
c2fa8a2b18
4 changed files with 5 additions and 4 deletions
|
@ -152,6 +152,7 @@ bool avr_isp_auto_set_spi_speed_start_pmode(AvrIsp* instance) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(instance->spi) avr_isp_spi_sw_free(instance->spi);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -198,9 +198,10 @@ bool avr_isp_worker_rw_detect_chip(AvrIspWorkerRW* instance) {
|
||||||
}
|
}
|
||||||
avr_isp_end_pmode(instance->avr_isp);
|
avr_isp_end_pmode(instance->avr_isp);
|
||||||
|
|
||||||
furi_hal_pwm_stop(FuriHalPwmOutputIdLptim2PA4);
|
|
||||||
|
|
||||||
} while(0);
|
} while(0);
|
||||||
|
|
||||||
|
furi_hal_pwm_stop(FuriHalPwmOutputIdLptim2PA4);
|
||||||
|
|
||||||
if(instance->callback) {
|
if(instance->callback) {
|
||||||
if(instance->chip_arr_ind > avr_isp_chip_arr_size) {
|
if(instance->chip_arr_ind > avr_isp_chip_arr_size) {
|
||||||
instance->callback(instance->context, "No detect", instance->chip_detect, 0);
|
instance->callback(instance->context, "No detect", instance->chip_detect, 0);
|
||||||
|
|
|
@ -317,6 +317,7 @@ static bool avr_isp_prog_auto_set_spi_speed_start_pmode(AvrIspProg* instance) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(instance->spi) avr_isp_spi_sw_free(instance->spi);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,6 @@ struct AvrIspSpiSw {
|
||||||
AvrIspSpiSw* avr_isp_spi_sw_init(AvrIspSpiSwSpeed speed) {
|
AvrIspSpiSw* avr_isp_spi_sw_init(AvrIspSpiSwSpeed speed) {
|
||||||
AvrIspSpiSw* instance = malloc(sizeof(AvrIspSpiSw));
|
AvrIspSpiSw* instance = malloc(sizeof(AvrIspSpiSw));
|
||||||
instance->speed_wait_time = speed;
|
instance->speed_wait_time = speed;
|
||||||
|
|
||||||
instance->miso = AVR_ISP_SPI_SW_MISO;
|
instance->miso = AVR_ISP_SPI_SW_MISO;
|
||||||
instance->mosi = AVR_ISP_SPI_SW_MOSI;
|
instance->mosi = AVR_ISP_SPI_SW_MOSI;
|
||||||
instance->sck = AVR_ISP_SPI_SW_SCK;
|
instance->sck = AVR_ISP_SPI_SW_SCK;
|
||||||
|
@ -40,7 +39,6 @@ void avr_isp_spi_sw_free(AvrIspSpiSw* instance) {
|
||||||
furi_hal_gpio_init(instance->miso, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
|
furi_hal_gpio_init(instance->miso, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
|
||||||
furi_hal_gpio_init(instance->mosi, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
|
furi_hal_gpio_init(instance->mosi, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
|
||||||
furi_hal_gpio_init(instance->sck, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
|
furi_hal_gpio_init(instance->sck, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
|
||||||
|
|
||||||
free(instance);
|
free(instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue