mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-27 21:54:41 +00:00
sfc: Fix TX queue numbering when separate_tx_channels=1
This option appears to have been broken by commit 8313aca38b3937947fffebca6e34bac8e24300c8 ('sfc: Allocate each channel separately, along with its RX and TX queues'). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
parent
47a8467cc0
commit
602a5322a7
@ -1319,8 +1319,20 @@ static void efx_remove_interrupts(struct efx_nic *efx)
|
||||
|
||||
static void efx_set_channels(struct efx_nic *efx)
|
||||
{
|
||||
struct efx_channel *channel;
|
||||
struct efx_tx_queue *tx_queue;
|
||||
|
||||
efx->tx_channel_offset =
|
||||
separate_tx_channels ? efx->n_channels - efx->n_tx_channels : 0;
|
||||
|
||||
/* We need to adjust the TX queue numbers if we have separate
|
||||
* RX-only and TX-only channels.
|
||||
*/
|
||||
efx_for_each_channel(channel, efx) {
|
||||
efx_for_each_channel_tx_queue(tx_queue, channel)
|
||||
tx_queue->queue -= (efx->tx_channel_offset *
|
||||
EFX_TXQ_TYPES);
|
||||
}
|
||||
}
|
||||
|
||||
static int efx_probe_nic(struct efx_nic *efx)
|
||||
|
Loading…
x
Reference in New Issue
Block a user