mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
can: peak/pcie_fd: remove useless code when interface starts
When an interface starts, the echo_skb array is empty and the network queue should be started only. This patch replaces useless code and locks when the internal RX_BARRIER message is received from the IP core, telling the driver that tx may start. Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com> Cc: linux-stable <stable@vger.kernel.org> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
e6048a00cf
commit
ffd137f704
@ -333,7 +333,6 @@ static int pucan_handle_status(struct peak_canfd_priv *priv,
|
||||
|
||||
/* this STATUS is the CNF of the RX_BARRIER: Tx path can be setup */
|
||||
if (pucan_status_is_rx_barrier(msg)) {
|
||||
unsigned long flags;
|
||||
|
||||
if (priv->enable_tx_path) {
|
||||
int err = priv->enable_tx_path(priv);
|
||||
@ -342,16 +341,8 @@ static int pucan_handle_status(struct peak_canfd_priv *priv,
|
||||
return err;
|
||||
}
|
||||
|
||||
/* restart network queue only if echo skb array is free */
|
||||
spin_lock_irqsave(&priv->echo_lock, flags);
|
||||
|
||||
if (!priv->can.echo_skb[priv->echo_idx]) {
|
||||
spin_unlock_irqrestore(&priv->echo_lock, flags);
|
||||
|
||||
netif_wake_queue(ndev);
|
||||
} else {
|
||||
spin_unlock_irqrestore(&priv->echo_lock, flags);
|
||||
}
|
||||
/* start network queue (echo_skb array is empty) */
|
||||
netif_start_queue(ndev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user