diff options
author | Edward Cree <ecree.xilinx@gmail.com> | 2021-04-20 14:29:35 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-04-21 02:03:53 +0200 |
commit | 172e269edfce34bac7c61c15551816bda4b0f140 (patch) | |
tree | 5c267d126e1c9d81b4b8b1a69b0aa6415dd9c4b8 /drivers/net/ethernet/sfc | |
parent | sfc: farch: fix TX queue lookup in TX event handling (diff) | |
download | linux-172e269edfce34bac7c61c15551816bda4b0f140.tar.xz 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>
Diffstat (limited to 'drivers/net/ethernet/sfc')
-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 */ |