Commit ea5b7ff
Mohammad Kabat
net/mlx5e: Ring the TX doorbell on DMA errors
Bugzilla: https://bugzilla.redhat.com/2112940
Upstream-status: v5.19-rc7
commit 5b759bf
Author: Maxim Mikityanskiy <maximmi@nvidia.com>
Date: Mon May 30 14:01:37 2022 +0300
net/mlx5e: Ring the TX doorbell on DMA errors
TX doorbells may be postponed, because sometimes the driver knows that
another packet follows (for example, when xmit_more is true, or when a
MPWQE session is closed before transmitting a packet).
However, the DMA mapping may fail for the next packet, in which case a
new WQE is not posted, the doorbell isn't updated either, and the
transmission of the previous packet will be delayed indefinitely.
This commit fixes the described rare error flow by posting a NOP and
ringing the doorbell on errors to flush all the previous packets. The
MPWQE session is closed before that. DMA mapping in the MPWQE flow is
moved to the beginning of mlx5e_sq_xmit_mpwqe, because empty sessions
are not allowed. Stop room always has enough space for a NOP, because
the actual TX WQE is not posted.
Fixes: e586b3b ("net/mlx5: Ethernet Datapath files")
Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Mohammad Kabat <mkabat@redhat.com>1 parent f05baf7 commit ea5b7ff
1 file changed
+30
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
321 | 341 | | |
322 | 342 | | |
323 | 343 | | |
| |||
410 | 430 | | |
411 | 431 | | |
412 | 432 | | |
| 433 | + | |
413 | 434 | | |
414 | 435 | | |
415 | 436 | | |
| |||
511 | 532 | | |
512 | 533 | | |
513 | 534 | | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
514 | 542 | | |
515 | 543 | | |
516 | 544 | | |
| |||
520 | 548 | | |
521 | 549 | | |
522 | 550 | | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | 551 | | |
530 | | - | |
531 | 552 | | |
532 | | - | |
533 | 553 | | |
534 | | - | |
535 | 554 | | |
536 | 555 | | |
537 | 556 | | |
| |||
553 | 572 | | |
554 | 573 | | |
555 | 574 | | |
| 575 | + | |
556 | 576 | | |
557 | 577 | | |
558 | 578 | | |
| |||
935 | 955 | | |
936 | 956 | | |
937 | 957 | | |
| 958 | + | |
938 | 959 | | |
939 | 960 | | |
0 commit comments