From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932401AbbIUNgY (ORCPT ); Mon, 21 Sep 2015 09:36:24 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:43643 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932324AbbIUNgU (ORCPT ); Mon, 21 Sep 2015 09:36:20 -0400 X-AuditID: cbfec7f4-f79c56d0000012ee-d4-560007d031fb From: Andrzej Hajda To: linux-kernel@vger.kernel.org Cc: Andrzej Hajda , Bartlomiej Zolnierkiewicz , Marek Szyprowski , Karsten Keil , netdev@vger.kernel.org Subject: [PATCH 17/38] isdn: hisax: fix frame calculation Date: Mon, 21 Sep 2015 15:33:49 +0200 Message-id: <1442842450-29769-18-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1442842450-29769-1-git-send-email-a.hajda@samsung.com> References: <1442842450-29769-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphluLIzCtJLcpLzFFi42I5/e/4Vd0L7AxhBu33rSxurTvHarFxxnpW i5+bXrNZXN41h81i7ZG77BbHFog5sHksfTKb2aNvyypGj8+b5AKYo7hsUlJzMstSi/TtErgy Dk98yFxwh6NiRvt31gbGL2xdjJwcEgImEg9P/maEsMUkLtxbDxTn4hASWMoosaXxLliRkEAT k8SbCwIgNpuApsTfzTfB4iICChKbe5+xgjQwC5xhlFj/YAVYQljAUmLzrVksIDaLgKrE8z3L 2EFsXgEXiS0Xp0Jtk5M4eWwyK4jNCRQ/cPALC8QyZ4kDS44wTWDkXcDIsIpRNLU0uaA4KT3X UK84Mbe4NC9dLzk/dxMjJGy+7GBcfMzqEKMAB6MSD6+DwP9QIdbEsuLK3EOMEhzMSiK8OrOA QrwpiZVVqUX58UWlOanFhxilOViUxHnn7nofIiSQnliSmp2aWpBaBJNl4uCUamAsX57fePwd h8xsK0t2uT6ZnfahG/g33lNdXGvrV9+jNKt40SLZnHtLboe9X61w2775ML/ExKdXC69nJWd7 37tW8CN2zbwrBS8N/4u+S5vcaVVxx+//mgm7ov6xWws0zD1i3+87i2P1S8kr56O2+FZvtrsz s2SWelO3oMxm5osXfx9g4dx+2nyiEktxRqKhFnNRcSIApaxsLRcCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Difference of unsigned values is also unsigned so it does not make sense to check its sign. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda --- drivers/isdn/hisax/hfc4s8s_l1.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/isdn/hisax/hfc4s8s_l1.c b/drivers/isdn/hisax/hfc4s8s_l1.c index 0e5d673..9600cd7 100644 --- a/drivers/isdn/hisax/hfc4s8s_l1.c +++ b/drivers/isdn/hisax/hfc4s8s_l1.c @@ -646,14 +646,14 @@ rx_d_frame(struct hfc4s8s_l1 *l1p, int ech) f1 = Read_hfc8_stable(l1p->hw, A_F1); f2 = Read_hfc8(l1p->hw, A_F2); - df = f1 - f2; - if ((f1 - f2) < 0) - df = f1 - f2 + MAX_F_CNT + 1; + if (f1 < f2) + df = MAX_F_CNT + 1 + f1 - f2; + else + df = f1 - f2; - if (!df) { + if (!df) return; /* no complete frame in fifo */ - } z1 = Read_hfc16_stable(l1p->hw, A_Z1); z2 = Read_hfc16(l1p->hw, A_Z2); -- 1.9.1