Skip to content
Commit adddc32d authored by Sowmini Varadhan's avatar Sowmini Varadhan Committed by David S. Miller
Browse files

sunvnet: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN



ldc_rx -> vnet_rx -> .. -> vnet_walk_rx->vnet_send_ack should not
spin into an infinite loop waiting  EAGAIN to lift.

The sender could have sent us a burst, and gone to lunch without
doing any more ldc_read()'s. That should not cause the receiver to
loop infinitely till soft-lockup kicks in.

Similarly __vnet_tx_trigger should only loop on EAGAIN a finite
number of times. The caller (vnet_start_xmit()) already has code
to reset the dring state and bail on errors from __vnet_tx_trigger

Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
Acked-by: default avatarRaghuram Kothakota <raghuram.kothakota@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1f6394e3
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