diff options
author | Edward Cree <ecree.xilinx@gmail.com> | 2021-04-20 13:29:35 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-04-20 17:03:53 -0700 |
commit | 172e269edfce34bac7c61c15551816bda4b0f140 (patch) | |
tree | 5c267d126e1c9d81b4b8b1a69b0aa6415dd9c4b8 /drivers | |
parent | 83b09a1807415608b387c7bc748d329fefc5617e (diff) | |
download | linux-stable-172e269edfce34bac7c61c15551816bda4b0f140.tar.gz linux-stable-172e269edfce34bac7c61c15551816bda4b0f140.tar.bz2 linux-stable-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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/sfc/ef10.c | 3 |
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 */ |