aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEdward Cree <ecree.xilinx@gmail.com>2021-04-20 13:29:35 +0100
committerDavid S. Miller <davem@davemloft.net>2021-04-20 17:03:53 -0700
commit172e269edfce34bac7c61c15551816bda4b0f140 (patch)
tree5c267d126e1c9d81b4b8b1a69b0aa6415dd9c4b8
parentsfc: farch: fix TX queue lookup in TX event handling (diff)
downloadwireguard-linux-172e269edfce34bac7c61c15551816bda4b0f140.tar.xz
wireguard-linux-172e269edfce34bac7c61c15551816bda4b0f140.zip
sfc: ef10: fix TX queue lookup in TX event handling
We're starting from a TXQ label, not a TXQ type, so efx_channel_get_tx_queue() is inappropriate. This worked by chance, because labels and types currently match on EF10, but we shouldn't rely on that. Fixes: 12804793b17c ("sfc: decouple TXQ type from label") Signed-off-by: Edward Cree <ecree.xilinx@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/sfc/ef10.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index da6886dcac37..4fa72b573c17 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c
@@ -2928,8 +2928,7 @@ efx_ef10_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
/* Get the transmit queue */
tx_ev_q_label = EFX_QWORD_FIELD(*event, ESF_DZ_TX_QLABEL);
- tx_queue = efx_channel_get_tx_queue(channel,
- tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
+ tx_queue = channel->tx_queue + (tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
if (!tx_queue->timestamping) {
/* Transmit completion */