Commit d35162f8 authored by Daniel Mack's avatar Daniel Mack Committed by David S. Miller

net: ethernet: cpsw: fix usage of cpdma_check_free_tx_desc()

Commit fae50823 ("net: ethernet: davinci_cpdma: Add boundary for rx
and tx descriptors") introduced a function to check the current
allocation state of tx packets. The return value is taken into account
to stop the netqork queue on the adapter in case there are no free
slots.

However, cpdma_check_free_tx_desc() returns 'true' if there is room in
the bitmap, not 'false', so the usage of the function is wrong.
Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Reported-by: default avatarSven Neumann <s.neumann@raumfeld.com>
Reported-by: default avatarAndreas Fenkart <andreas.fenkart@streamunlimited.com>
Tested-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
Acked-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
Tested-by: default avatarAndreas Fenkart <andreas.fenkart@streamunlimited.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c80a8512
......@@ -905,7 +905,7 @@ static netdev_tx_t cpsw_ndo_start_xmit(struct sk_buff *skb,
/* If there is no more tx desc left free then we need to
* tell the kernel to stop sending us tx frames.
*/
if (unlikely(cpdma_check_free_tx_desc(priv->txch)))
if (unlikely(!cpdma_check_free_tx_desc(priv->txch)))
netif_stop_queue(ndev);
return NETDEV_TX_OK;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment