drivers: can: flexcan: handle rx overflow and undhandled irqs
Add handling of RX overflows and IRQs reported as undhandled by the NXP MCUX HAL. Fixes: #22625 Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
parent
49627feb03
commit
974e05a9d8
1 changed files with 4 additions and 0 deletions
|
@ -586,6 +586,8 @@ static void mcux_flexcan_transfer_callback(CAN_Type *base,
|
||||||
struct device *dev = (struct device *)userData;
|
struct device *dev = (struct device *)userData;
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
|
case kStatus_FLEXCAN_UnHandled:
|
||||||
|
/* fallthrough */
|
||||||
case kStatus_FLEXCAN_ErrorStatus:
|
case kStatus_FLEXCAN_ErrorStatus:
|
||||||
mcux_flexcan_transfer_error_status(dev, result);
|
mcux_flexcan_transfer_error_status(dev, result);
|
||||||
break;
|
break;
|
||||||
|
@ -594,6 +596,8 @@ static void mcux_flexcan_transfer_callback(CAN_Type *base,
|
||||||
case kStatus_FLEXCAN_TxIdle:
|
case kStatus_FLEXCAN_TxIdle:
|
||||||
mcux_flexcan_transfer_tx_idle(dev, result);
|
mcux_flexcan_transfer_tx_idle(dev, result);
|
||||||
break;
|
break;
|
||||||
|
case kStatus_FLEXCAN_RxOverflow:
|
||||||
|
/* fallthrough */
|
||||||
case kStatus_FLEXCAN_RxIdle:
|
case kStatus_FLEXCAN_RxIdle:
|
||||||
mcux_flexcan_transfer_rx_idle(dev, result);
|
mcux_flexcan_transfer_rx_idle(dev, result);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue