diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2013-01-29 23:33:14 +0000 |
---|---|---|
committer | Ben Hutchings <bhutchings@solarflare.com> | 2013-03-07 20:22:06 +0000 |
commit | 272baeeb6a98f5f746c2eeab4973c2df89e9d7ea (patch) | |
tree | c894c86c4331a376e728fdffb5cdbcd301158628 /drivers/net/ethernet/sfc/efx.c | |
parent | 80c2e716d555912168f93853f96a24d0de75897b (diff) | |
download | lwn-272baeeb6a98f5f746c2eeab4973c2df89e9d7ea.tar.gz lwn-272baeeb6a98f5f746c2eeab4973c2df89e9d7ea.zip |
sfc: Properly distinguish RX buffer and DMA lengths
Replace efx_nic::rx_buffer_len with efx_nic::rx_dma_len, the maximum
RX DMA length.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/efx.c')
-rw-r--r-- | drivers/net/ethernet/sfc/efx.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c index 5e1ddc559b4f..34b56ec87fba 100644 --- a/drivers/net/ethernet/sfc/efx.c +++ b/drivers/net/ethernet/sfc/efx.c @@ -639,12 +639,11 @@ static void efx_start_datapath(struct efx_nic *efx) * support the current MTU, including padding for header * alignment and overruns. */ - efx->rx_buffer_len = (max(EFX_PAGE_IP_ALIGN, NET_IP_ALIGN) + - EFX_MAX_FRAME_LEN(efx->net_dev->mtu) + - efx->type->rx_buffer_hash_size + - efx->type->rx_buffer_padding); - efx->rx_buffer_order = get_order(efx->rx_buffer_len + - sizeof(struct efx_rx_page_state)); + efx->rx_dma_len = (efx->type->rx_buffer_hash_size + + EFX_MAX_FRAME_LEN(efx->net_dev->mtu) + + efx->type->rx_buffer_padding); + efx->rx_buffer_order = get_order(sizeof(struct efx_rx_page_state) + + EFX_PAGE_IP_ALIGN + efx->rx_dma_len); /* We must keep at least one descriptor in a TX ring empty. * We could avoid this when the queue size does not exactly |