The good and the total transmitted packet counters are not read atomically,
so the difference can be negative when a packet completes between the two
reads. It was added to the error counter as a huge unsigned value. Only
add it when the total is larger.
Details
Details
Tested on Nanopi R5S :
driver tcp1_send tcp1_recv tcp4_send tcp4_recv
1 eqos 253/196 349/312 250/253 346/438
2 dwc 252/231 175/255 251/236 283/306
3 dwc 253/236 409/341 254/243 386/533
4 dwc 253/229 419/333 253/252 396/418 <- this commit
5 dwc 378/368 411/404 381/378 391/532
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 78437 Build 75320: arc lint + arc unit