From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: Re: [PATCH] net/sfc: add missing Rx descriptor status callback Date: Wed, 30 May 2018 09:44:44 +0300 Message-ID: <54455a54-fef1-8ad7-0bea-6c864bc4cbbe@solarflare.com> References: <1527490247-23324-1-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: To: Thomas Monjalon , Ferruh Yigit Return-path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id C99A031FC for ; Wed, 30 May 2018 08:44:51 +0200 (CEST) In-Reply-To: <1527490247-23324-1-git-send-email-arybchenko@solarflare.com> Content-Language: en-GB List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 > --- > 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, > };