Team,

Hit a crash while vmxnet_xmit_pkts()-->vmxnet3_tq_tx_complete() API trying to 
release completed buffers.
As we see in the code, there are two independent paths that clean up completed 
buffers:  1) vmxnet3_xmit_pkts  2) vmxnet3_dev_stop.   In a multi-threaded 
environment potentially this can cause issues since queues/buffers not guarded 
with any locks.   Specifically, in my case, one thread handles admin messages 
like port shut and hence triggers vmxnet3_dev_stop.  Another thread for 
forwarding (vmxnet3_xmit_pkts).   Isn't this a candidate for introducing locks 
within drivers? Any other suggestions to handle it?

Thanks,
-Vithal

Reply via email to