cpukit/dev/can: correct round-robin on same priority Tx

When the device is open multiple times and data
are sent to driver by multiple FIFOs/edges then
round-robin between same priority prevents
one application blocking whole bandwidth.

The problem has been introduced during switch
from original uLUt/LinCAN to NewLib provided TAILQ

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
This commit is contained in:
Pavel Pisa
2026-08-13 17:30:05 -05:00
committed by Joel Sherrill
parent 818af27299
commit 25a479d5e6
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -391,7 +391,7 @@ int rtems_can_queue_test_outslot(
TAILQ_REMOVE( edge->peershead, edge, activepeers );
}
if ( out_ready ) {
TAILQ_INSERT_HEAD(
TAILQ_INSERT_TAIL(
&qends->active[ edge->edge_prio ],
edge,
activepeers
+1 -1
View File
@@ -535,7 +535,7 @@ static inline void rtems_can_queue_activate_edge(
TAILQ_REMOVE( qedge->peershead, qedge, activepeers );
}
TAILQ_INSERT_HEAD(
TAILQ_INSERT_TAIL(
&output_ends->active[ qedge->edge_prio ],
qedge,
activepeers