Commit 61a1dea
net: hns3: fix tx timeout issue
Currently, the driver knocks the ring doorbell before updating
the ring->last_to_use in tx flow. if the hardware transmiting
packet and napi poll scheduling are fast enough, it may get
the old ring->last_to_use in drivers' napi poll.
In this case, the driver will think the tx is not completed, and
return directly without clear the flag __QUEUE_STATE_STACK_XOFF,
which may cause tx timeout.
Fixes: 20d06ca ("net: hns3: optimize the tx clean process")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>1 parent 08c6d8b commit 61a1dea
1 file changed
Lines changed: 12 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2103 | 2103 | | |
2104 | 2104 | | |
2105 | 2105 | | |
| 2106 | + | |
| 2107 | + | |
| 2108 | + | |
| 2109 | + | |
| 2110 | + | |
2106 | 2111 | | |
2107 | | - | |
2108 | 2112 | | |
2109 | 2113 | | |
2110 | 2114 | | |
| |||
2115 | 2119 | | |
2116 | 2120 | | |
2117 | 2121 | | |
| 2122 | + | |
| 2123 | + | |
| 2124 | + | |
| 2125 | + | |
| 2126 | + | |
2118 | 2127 | | |
2119 | 2128 | | |
2120 | 2129 | | |
2121 | 2130 | | |
2122 | 2131 | | |
2123 | 2132 | | |
2124 | 2133 | | |
2125 | | - | |
2126 | 2134 | | |
2127 | 2135 | | |
2128 | 2136 | | |
| |||
3563 | 3571 | | |
3564 | 3572 | | |
3565 | 3573 | | |
3566 | | - | |
3567 | | - | |
3568 | | - | |
| 3574 | + | |
| 3575 | + | |
3569 | 3576 | | |
3570 | 3577 | | |
3571 | 3578 | | |
| |||
0 commit comments