818951afd8
command whenever Tx completion interrupt is raised. The Tx poll bit is cleared when all packets waiting to be transferred have been processed. This means the second Tx poll command can be silently ignored as the Tx poll bit could be still active while processing of previous Tx poll command is in progress. To address the issue re(4) used to invoke the Tx poll command in Tx completion handler whenever it detects there are pending packets in TxQ. However that still does not seem to completely eliminate watchdog timeouts seen on RealTek PCIe controllers. To fix the issue kick Tx poll command only after Tx completion interrupt is raised as this would indicate Tx is now idle state such that it can accept new Tx poll command again. While here apply this workaround for PCIe based controllers as other controllers does not seem to have this limitation. Tested by: Victor Balada Diaz < victor <> bsdes DOT net > |
||
---|---|---|
.. | ||
alpm.c | ||
amdpm.c | ||
amdsmb.c | ||
if_rl.c | ||
if_rlreg.h | ||
intpm.c | ||
intpmreg.h | ||
locate.pl | ||
ncr.c | ||
ncrreg.h | ||
nfsmb.c | ||
viapm.c |