When I implemented initial version of the driver I had incorrect understanding of the required state transition to reconfigure device. It was assumed that close is required before reconfigure. Looking at description in rte_ethdev.h, rte_eth_dev_close() description and rte_eth_dev_configure() implementation I see that I was wrong.
If reconfigure attempt is done without the patch series, testpmd crashes on segmentation fault. The patch series fixes it. So, technically it is a bug fix, but unfortunately pretty big. The patch series should be applied after [1] (patch [2]). Testing the patch requires [3] (patch [4]). Intel compilation of the patch fails since it is applied to dpdk.git tree instead of dpdk-next-net.git. [1] http://dpdk.org/ml/archives/dev/2017-March/062155.html [2] http://dpdk.org/dev/patchwork/patch/22758/ [3] http://dpdk.org/ml/archives/dev/2017-March/062157.html [4] http://dpdk.org/dev/patchwork/patch/22756/ Andrew Rybchenko (13): net/sfc: clarify interrupts support function names net/sfc: bind EvQ DMA space to EvQ type and type-local index net/sfc: remove unused max entries from EvQ info net/sfc: move EvQ entries to the EvQ control structure net/sfc: remove flags from EvQ info net/sfc: remove EvQ info array to simplify reconfigure net/sfc: move event support init to attach stage net/sfc: initialize port data on attach net/sfc: clarify Rx subsystem configure/close function names net/sfc: clarify Tx subsystem configure/close function names net/sfc: support changing the number of receive queues net/sfc: support changing the number of transmit queues net/sfc: fix device reconfigure drivers/net/sfc/sfc.c | 67 ++++++++------- drivers/net/sfc/sfc.h | 41 +++++----- drivers/net/sfc/sfc_ethdev.c | 2 - drivers/net/sfc/sfc_ev.c | 191 +++++++++++++++---------------------------- drivers/net/sfc/sfc_ev.h | 69 +++++----------- drivers/net/sfc/sfc_intr.c | 6 +- drivers/net/sfc/sfc_port.c | 32 ++++++-- drivers/net/sfc/sfc_rx.c | 113 ++++++++++++++++--------- drivers/net/sfc/sfc_rx.h | 4 +- drivers/net/sfc/sfc_tx.c | 103 +++++++++++++++-------- drivers/net/sfc/sfc_tx.h | 4 +- 11 files changed, 322 insertions(+), 310 deletions(-) -- 2.9.3