@@ -56,11 +56,7 @@ static struct k_mutex filter_mutex;
56
56
57
57
static void can_stm32_signal_tx_complete (const struct device * dev , struct can_stm32_mailbox * mb )
58
58
{
59
- if (mb -> tx_callback ) {
60
- mb -> tx_callback (dev , mb -> error , mb -> callback_arg );
61
- } else {
62
- k_sem_give (& mb -> tx_int_sem );
63
- }
59
+ mb -> tx_callback (dev , mb -> error , mb -> callback_arg );
64
60
}
65
61
66
62
static void can_stm32_rx_fifo_pop (CAN_FIFOMailBox_TypeDef * mbox , struct can_frame * frame )
@@ -561,9 +557,6 @@ static int can_stm32_init(const struct device *dev)
561
557
k_mutex_init (& filter_mutex );
562
558
k_mutex_init (& data -> inst_mutex );
563
559
k_sem_init (& data -> tx_int_sem , 0 , 1 );
564
- k_sem_init (& data -> mb0 .tx_int_sem , 0 , 1 );
565
- k_sem_init (& data -> mb1 .tx_int_sem , 0 , 1 );
566
- k_sem_init (& data -> mb2 .tx_int_sem , 0 , 1 );
567
560
568
561
if (cfg -> phy != NULL ) {
569
562
if (!device_is_ready (cfg -> phy )) {
@@ -741,6 +734,7 @@ static int can_stm32_send(const struct device *dev, const struct can_frame *fram
741
734
"standard" : "extended"
742
735
, frame -> rtr == CAN_DATAFRAME ? "no" : "yes" );
743
736
737
+ __ASSERT_NO_MSG (callback != NULL );
744
738
__ASSERT (frame -> dlc == 0U || frame -> data != NULL , "Dataptr is null" );
745
739
746
740
if (frame -> dlc > CAN_MAX_DLC ) {
@@ -784,7 +778,6 @@ static int can_stm32_send(const struct device *dev, const struct can_frame *fram
784
778
785
779
mb -> tx_callback = callback ;
786
780
mb -> callback_arg = user_data ;
787
- k_sem_reset (& mb -> tx_int_sem );
788
781
789
782
/* mailbox identifier register setup */
790
783
mailbox -> TIR &= CAN_TI0R_TXRQ ;
@@ -809,11 +802,6 @@ static int can_stm32_send(const struct device *dev, const struct can_frame *fram
809
802
mailbox -> TIR |= CAN_TI0R_TXRQ ;
810
803
k_mutex_unlock (& data -> inst_mutex );
811
804
812
- if (callback == NULL ) {
813
- k_sem_take (& mb -> tx_int_sem , K_FOREVER );
814
- return mb -> error ;
815
- }
816
-
817
805
return 0 ;
818
806
}
819
807
0 commit comments