[dpdk-dev] [PATCH] net/sfc: add missing Rx descriptor status callback

Andrew Rybchenko arybchenko at solarflare.com
Wed May 30 08:44:44 CEST 2018


Thomas, Ferruh,

I've found out that the following patch is deferred in patchwork:
https://dpdk.org/dev/patchwork/patch/40455/

It is critical under certain conditions since fix application crash.
The patch is net/sfc local and just few lines - absolutely harmless.
The only potential DPDK-wide effect is build, but the patch is really
trivial and it is hard to imagine how it could affect the build.
I'd like it to be included in 18.05, if possible.

I understand that 18.05 is really very-very late already and it
could be too late even for such patch. Just would like to
double-check it.

Thanks,
Andrew.

On 05/28/2018 09:50 AM, Andrew Rybchenko wrote:
> Rx descriptor status callback was lost and request of the Rx
> descriptor status crashes application if equal stride super-buffer
> Rx mode is used.
>
> Fixes: 390f9b8d82c9 ("net/sfc: support equal stride super-buffer Rx mode")
>
> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
> ---
>   drivers/net/sfc/sfc_ef10_essb_rx.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
>
> diff --git a/drivers/net/sfc/sfc_ef10_essb_rx.c b/drivers/net/sfc/sfc_ef10_essb_rx.c
> index 289b61e52..5f5af602c 100644
> --- a/drivers/net/sfc/sfc_ef10_essb_rx.c
> +++ b/drivers/net/sfc/sfc_ef10_essb_rx.c
> @@ -413,6 +413,14 @@ sfc_ef10_essb_rx_qdesc_npending(__rte_unused struct sfc_dp_rxq *dp_rxq)
>   	return -ENOTSUP;
>   }
>   
> +static sfc_dp_rx_qdesc_status_t sfc_ef10_essb_rx_qdesc_status;
> +static int
> +sfc_ef10_essb_rx_qdesc_status(__rte_unused struct sfc_dp_rxq *dp_rxq,
> +			      __rte_unused uint16_t offset)
> +{
> +	return -ENOTSUP;
> +}
> +
>   static sfc_dp_rx_get_dev_info_t sfc_ef10_essb_rx_get_dev_info;
>   static void
>   sfc_ef10_essb_rx_get_dev_info(struct rte_eth_dev_info *dev_info)
> @@ -687,5 +695,6 @@ struct sfc_dp_rx sfc_ef10_essb_rx = {
>   	.qpurge			= sfc_ef10_essb_rx_qpurge,
>   	.supported_ptypes_get	= sfc_ef10_supported_ptypes_get,
>   	.qdesc_npending		= sfc_ef10_essb_rx_qdesc_npending,
> +	.qdesc_status		= sfc_ef10_essb_rx_qdesc_status,
>   	.pkt_burst		= sfc_ef10_essb_recv_pkts,
>   };



More information about the dev mailing list