From patchwork Tue Apr 24 12:51:51 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karsten Keil X-Patchwork-Id: 154670 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 78737B6F62 for ; Tue, 24 Apr 2012 22:54:48 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754143Ab2DXMyl (ORCPT ); Tue, 24 Apr 2012 08:54:41 -0400 Received: from moutng.kundenserver.de ([212.227.17.8]:52479 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753699Ab2DXMyi (ORCPT ); Tue, 24 Apr 2012 08:54:38 -0400 Received: from mailone.linux-pingi.de (p5497CC26.dip.t-dialin.net [84.151.204.38]) by mrelayeu.kundenserver.de (node=mreu4) with ESMTP (Nemesis) id 0M7A5y-1Ryxyt0PpO-00wYJu; Tue, 24 Apr 2012 14:54:37 +0200 Received: from pingi6.linux-pingi.de (pingi6.linux-pingi.de [10.23.200.6]) by mailone.linux-pingi.de (Postfix) with ESMTP id AD8F75278; Tue, 24 Apr 2012 14:54:34 +0200 (CEST) Received: by pingi6.linux-pingi.de (Postfix, from userid 1000) id 216579FB86; Tue, 24 Apr 2012 14:51:53 +0200 (CEST) From: Karsten Keil To: David Miller Cc: netdev@vger.kernel.org, Karsten Keil Subject: [PATCH 3/4] mISDN: Fix division by zero Date: Tue, 24 Apr 2012 14:51:51 +0200 Message-Id: <1335271912-5269-4-git-send-email-kkeil@linux-pingi.de> X-Mailer: git-send-email 1.7.3.4 In-Reply-To: <1335271912-5269-1-git-send-email-kkeil@linux-pingi.de> References: <1335271912-5269-1-git-send-email-kkeil@linux-pingi.de> X-Provags-ID: V02:K0:y7bHvi++LizZJ22+MuRbKNJ1eB279vKRmyjVmaQm197 S3bk3mRBWKSyJC+I5cNQqj0D7gDLqIwkrEY5Yl4Nob1PStrYI5 gooDyCi2I8/TPRzfy1jK5U+7BN3CpQ3J+Llsz4EMAY9P6j5k51 x9Vg2yKbSe90ZKDqMTA1i9sJdmYMsC91pyaUYgvE0wQ1FnO11J r98bGHStoW6V75ACqVNZvwEaWn8sxucIY4IGFisW9BrJOfNuMR UdfajXVzj4jkNwy3dKS0Y0lEGfMcyxNrn0in7pfrfpeHaTpJ5C VwXl+4v4G0LXnFMpqrbzhMX3UKpvQByBeF9MgzZWksBICtpfTH jjgn5/7Jw43/9jsRRoEcjb6eNqirdGFrH5R06M8oxY9hX0N41J 6G6Q2w8teRQ5W1CAS8lbV30qGiHefVIVPk= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Karsten Keil If DTMF debug is set and tresh goes under 100, the printk will cause a division by zero. Signed-off-by: Karsten Keil --- drivers/isdn/mISDN/dsp_dtmf.c | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/isdn/mISDN/dsp_dtmf.c b/drivers/isdn/mISDN/dsp_dtmf.c index 887860b..642f30b 100644 --- a/drivers/isdn/mISDN/dsp_dtmf.c +++ b/drivers/isdn/mISDN/dsp_dtmf.c @@ -222,16 +222,25 @@ coefficients: goto storedigit; } - if (dsp_debug & DEBUG_DSP_DTMFCOEFF) + if (dsp_debug & DEBUG_DSP_DTMFCOEFF) { + s32 tresh_100 = tresh/100; + + if (tresh_100 == 0) { + tresh_100 = 1; + printk(KERN_DEBUG + "tresh(%d) too small set tresh/100 to 1\n", + tresh); + } printk(KERN_DEBUG "a %3d %3d %3d %3d %3d %3d %3d %3d" " tr:%3d r %3d %3d %3d %3d %3d %3d %3d %3d\n", result[0] / 10000, result[1] / 10000, result[2] / 10000, result[3] / 10000, result[4] / 10000, result[5] / 10000, result[6] / 10000, result[7] / 10000, tresh / 10000, - result[0] / (tresh / 100), result[1] / (tresh / 100), - result[2] / (tresh / 100), result[3] / (tresh / 100), - result[4] / (tresh / 100), result[5] / (tresh / 100), - result[6] / (tresh / 100), result[7] / (tresh / 100)); + result[0] / (tresh_100), result[1] / (tresh_100), + result[2] / (tresh_100), result[3] / (tresh_100), + result[4] / (tresh_100), result[5] / (tresh_100), + result[6] / (tresh_100), result[7] / (tresh_100)); + } /* calc digit (lowgroup/highgroup) */ lowgroup = -1;