svn commit: r311072 - stable/10/sys/dev/sfxge/common
Andrew Rybchenko
arybchik at FreeBSD.org
Mon Jan 2 09:24:21 UTC 2017
Author: arybchik
Date: Mon Jan 2 09:24:19 2017
New Revision: 311072
URL: https://svnweb.freebsd.org/changeset/base/311072
Log:
MFC r310715
sfxge(4): fix GET_RXDP_CONFIG usage for multi-PF on Medford
On Medford, using MC_CMD_GET_RXDP_CONFIG to query the RX end
padding setting is in the ADMIN group, and so fails for
unprivileged functions. In that case, assume the largest size
supported by Medford hardware (256bytes) to prevent overrun.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Modified:
stable/10/sys/dev/sfxge/common/medford_nic.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/sfxge/common/medford_nic.c
==============================================================================
--- stable/10/sys/dev/sfxge/common/medford_nic.c Mon Jan 2 09:23:40 2017 (r311071)
+++ stable/10/sys/dev/sfxge/common/medford_nic.c Mon Jan 2 09:24:19 2017 (r311072)
@@ -289,8 +289,13 @@ medford_board_cfg(
encp->enc_rx_buf_align_start = 1;
/* Get the RX DMA end padding alignment configuration */
- if ((rc = efx_mcdi_get_rxdp_config(enp, &end_padding)) != 0)
- goto fail11;
+ if ((rc = efx_mcdi_get_rxdp_config(enp, &end_padding)) != 0) {
+ if (rc != EACCES)
+ goto fail11;
+
+ /* Assume largest tail padding size supported by hardware */
+ end_padding = 256;
+ }
encp->enc_rx_buf_align_end = end_padding;
/* Alignment for WPTR updates */
More information about the svn-src-all
mailing list