From mboxrd@z Thu Jan 1 00:00:00 1970 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 223C31B58A for ; Thu, 7 Feb 2019 17:30:39 +0100 (CET) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (webmail.solarflare.com [12.187.104.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us3.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 06252B80089 for ; Thu, 7 Feb 2019 16:30:38 +0000 (UTC) Received: from ocex03.SolarFlarecom.com (10.20.40.36) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 7 Feb 2019 08:30:32 -0800 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Thu, 7 Feb 2019 08:30:32 -0800 Received: from ukv-loginhost.uk.solarflarecom.com (ukv-loginhost.uk.solarflarecom.com [10.17.10.39]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id x17GUUdG015398 for ; Thu, 7 Feb 2019 16:30:30 GMT Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1]) by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id E0E011613E4 for ; Thu, 7 Feb 2019 16:30:30 +0000 (GMT) From: Andrew Rybchenko To: Date: Thu, 7 Feb 2019 16:29:41 +0000 Message-ID: <1549556983-10896-37-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549556983-10896-1-git-send-email-arybchenko@solarflare.com> References: <1549556983-10896-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24412.006 X-TM-AS-Result: No-4.888400-4.000000-10 X-TMASE-MatchedRID: UIJ28ZF1r8dfW3i85vanohPyxGhOmmx6WPJn4UmMuVIGW3hFnC9N1eDl 0Q+EFPG65o/rYvVL+ieAMuqetGVetnyef22ep6XYro1URZJFbJvwtQpk3psW6l/lMmGCmJpMdfN rDk0KBL9A4A+IWXK7zPotlbGxH7pFoCWoqx32vwS8lpU1wLmON8prEvSc+F1dNRIYeCli5PtPvZ ygFH23fTojDH4s7aaP+F1mT75dk2SwKHQZ1VzS+Vj1GxU/qklw X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--4.888400-4.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24412.006 X-MDID: 1549557038-NAGhX1G8BqUp Subject: [dpdk-dev] [PATCH 36/38] net/sfc/base: avoid division by 0 if no event queue timers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Feb 2019 16:30:40 -0000 If event queue timers are not supported, enc_evq_timer_quantum_ns and enc_evq_timer_max_us should be set to 0. Make sure that division by 0 does not happen in libefx, if public function efx_ev_usecs_to_ticks() is used in this case. Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/base/efx_ev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/sfc/base/efx_ev.c b/drivers/net/sfc/base/efx_ev.c index 69224cbc5..7b5130291 100644 --- a/drivers/net/sfc/base/efx_ev.c +++ b/drivers/net/sfc/base/efx_ev.c @@ -566,6 +566,12 @@ efx_ev_usecs_to_ticks( { efx_nic_cfg_t *encp = &(enp->en_nic_cfg); unsigned int ticks; + efx_rc_t rc; + + if (encp->enc_evq_timer_quantum_ns == 0) { + rc = ENOTSUP; + goto fail1; + } /* Convert microseconds to a timer tick count */ if (us == 0) @@ -577,6 +583,10 @@ efx_ev_usecs_to_ticks( *ticksp = ticks; return (0); + +fail1: + EFSYS_PROBE1(fail1, efx_rc_t, rc); + return (rc); } __checkReturn efx_rc_t -- 2.17.1