git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@16288 27425a3e-05d8-49a3-a47f-9c15f0e5edd8

This commit is contained in:
Giovanni Di Sirio 2023-06-16 13:42:12 +00:00
parent 4759d8b4a7
commit 3ec158c8b0
2 changed files with 12 additions and 2 deletions

View File

@ -844,9 +844,14 @@ if (self->cb != NULL) {
<notapi /> <notapi />
<implementation><![CDATA[ <implementation><![CDATA[
if (self->cb) { if (self->cb != NULL) {
self->state = HAL_DRV_STATE_ERROR;
self->cb(self); self->cb(self);
if (self->state == HAL_DRV_STATE_ERROR) {
self->state = HAL_DRV_STATE_READY;
}
} }
__spi_wakeup_isr(self, msg);]]></implementation> __spi_wakeup_isr(self, msg);]]></implementation>
</method> </method>
</inline> </inline>

View File

@ -574,9 +574,14 @@ CC_FORCE_INLINE
static inline void __spi_isr_error_code(void *ip, msg_t msg) { static inline void __spi_isr_error_code(void *ip, msg_t msg) {
hal_spi_driver_c *self = (hal_spi_driver_c *)ip; hal_spi_driver_c *self = (hal_spi_driver_c *)ip;
if (self->cb) { if (self->cb != NULL) {
self->state = HAL_DRV_STATE_ERROR;
self->cb(self); self->cb(self);
if (self->state == HAL_DRV_STATE_ERROR) {
self->state = HAL_DRV_STATE_READY;
}
} }
__spi_wakeup_isr(self, msg); __spi_wakeup_isr(self, msg);
} }
/** @} */ /** @} */