summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephane Grosjean <s.grosjean@peak-system.com>2021-06-23 16:26:00 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2021-06-24 08:40:10 +0200
commitb17233d385d0b6b43ecf81d43008cb1bbb008166 (patch)
tree4ab5c96b83a3cb6604d01daaf2d5dc74e69e70b3
parentaaf473d0100f64abc88560e2bea905805bcf2a8e (diff)
downloadlinux-b17233d385d0b6b43ecf81d43008cb1bbb008166.tar.gz
linux-b17233d385d0b6b43ecf81d43008cb1bbb008166.tar.bz2
linux-b17233d385d0b6b43ecf81d43008cb1bbb008166.zip
can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path
Rather than just indicating that transmission can start, this patch requires the explicit flushing of the network TX queue when the driver is informed by the device that it can transmit, next to its configuration. In this way, if frames have already been written by the application, they will actually be transmitted. Fixes: ffd137f7043c ("can: peak/pcie_fd: remove useless code when interface starts") Link: https://lore.kernel.org/r/20210623142600.149904-1-s.grosjean@peak-system.com Cc: linux-stable <stable@vger.kernel.org> Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--drivers/net/can/peak_canfd/peak_canfd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/can/peak_canfd/peak_canfd.c b/drivers/net/can/peak_canfd/peak_canfd.c
index 00847cbaf7b6..d08718e98e11 100644
--- a/drivers/net/can/peak_canfd/peak_canfd.c
+++ b/drivers/net/can/peak_canfd/peak_canfd.c
@@ -351,8 +351,8 @@ static int pucan_handle_status(struct peak_canfd_priv *priv,
return err;
}
- /* start network queue (echo_skb array is empty) */
- netif_start_queue(ndev);
+ /* wake network queue up (echo_skb array is empty) */
+ netif_wake_queue(ndev);
return 0;
}