From patchwork Sat Apr 21 15:49:11 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karsten Keil X-Patchwork-Id: 154495 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 D0578B6FC3 for ; Tue, 24 Apr 2012 03:08:51 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754576Ab2DWRIj (ORCPT ); Mon, 23 Apr 2012 13:08:39 -0400 Received: from moutng.kundenserver.de ([212.227.126.171]:49402 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754391Ab2DWRIZ (ORCPT ); Mon, 23 Apr 2012 13:08:25 -0400 Received: from mailone.linux-pingi.de (p5497CD69.dip.t-dialin.net [84.151.205.105]) by mrelayeu.kundenserver.de (node=mrbap3) with ESMTP (Nemesis) id 0LnSda-1RkHqS1mes-00hk3q; Mon, 23 Apr 2012 19:08:22 +0200 Received: from pingi6.linux-pingi.de (pingi6.linux-pingi.de [10.23.200.6]) by mailone.linux-pingi.de (Postfix) with ESMTP id 6B0864FE4; Mon, 23 Apr 2012 19:08:18 +0200 (CEST) Received: by pingi6.linux-pingi.de (Postfix, from userid 1000) id B37049FB98; Mon, 23 Apr 2012 19:05:51 +0200 (CEST) Date: Sat, 21 Apr 2012 17:49:11 +0200 Subject: [PATCH 23/28] mISDN: Fix compiler warnings From: Karsten Keil To: David Miller Cc: netdev@vger.kernel.org, isdn4linux@listserv.isdn4linux.de Message-Id: <20120423170551.B37049FB98@pingi6.linux-pingi.de> X-Provags-ID: V02:K0:8phE/aW13CRIrR5ae3qrsVOevXqeowBXYZTkigv/lxh XYuBMxpeV2LCt8G1j/3B1kNjlEfkHj9hV//6sCkl0e9GEUIKye u/sca/lcoiCc54NFpjkN+5TmnKXZ8tbov7fiHNisDkG3p8FwNp V9GSvZiRAZAfT2AjNQkZKC/JMXlPEvjAAgqFuFYDUbIqSh+C3+ 1zGCHnDvCO7ad2Mh/uevFK7H7Kmq/KmSBmkxSIjwKXJ77+cdiQ TsZlLSXOi8OkoZY8re9wOPOIZ6U3oaECW89r8i5/mzl3SyhbEO jJDJHaEi+bVkMRLaUCfXNziD1fy92TGevfvrIHCejE2FPU5er6 SyhSgxkewHSZPouxg+Cr/skFjtNt8UoppYahXTOvQPWa17wTtb 6qtQ2/ndCGMsFdMm8HTE3bHuOOJq1XpyJc= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Newer gcc found some possible uninitialized pointer access. Signed-off-by: Karsten Keil --- drivers/isdn/hardware/mISDN/avmfritz.c | 11 +++++------ drivers/isdn/hardware/mISDN/hfcmulti.c | 8 ++++---- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/isdn/hardware/mISDN/avmfritz.c b/drivers/isdn/hardware/mISDN/avmfritz.c index 3781446..d0bdde3 100644 --- a/drivers/isdn/hardware/mISDN/avmfritz.c +++ b/drivers/isdn/hardware/mISDN/avmfritz.c @@ -404,7 +404,7 @@ static void hdlc_empty_fifo(struct bchannel *bch, int count) { u32 *ptr; - u8 *p, copy; + u8 *p; u32 val, addr; int cnt; struct fritzcard *fc = bch->hw; @@ -412,13 +412,12 @@ hdlc_empty_fifo(struct bchannel *bch, int count) pr_debug("%s: %s %d\n", fc->name, __func__, count); if (test_bit(FLG_RX_OFF, &bch->Flags)) { /* We drop the content, but need to read all bytes from FIFO */ - copy = 0; + p = NULL; if (debug & DEBUG_HW_BFIFO) printk(KERN_DEBUG "Dropped %d bytes - RX off\n", count); val = (bch->nr - 1) & 1; fc->dropcnt[val] += count; } else { - copy = 1; if (!bch->rx_skb) { if (test_bit(FLG_TRANSPARENT, &bch->Flags)) { if (count >= bch->minlen) @@ -441,8 +440,8 @@ hdlc_empty_fifo(struct bchannel *bch, int count) return; } p = skb_put(bch->rx_skb, count); - ptr = (u32 *)p; } + ptr = (u32 *)p; if (AVM_FRITZ_PCIV2 == fc->type) addr = fc->addr + (bch->nr == 2 ? AVM_HDLC_FIFO_2 : AVM_HDLC_FIFO_1); @@ -453,13 +452,13 @@ hdlc_empty_fifo(struct bchannel *bch, int count) cnt = 0; while (cnt < count) { val = le32_to_cpu(inl(addr)); - if (copy) { + if (ptr) { put_unaligned(val, ptr); ptr++; } cnt += 4; } - if (copy && (debug & DEBUG_HW_BFIFO)) { + if (ptr && (debug & DEBUG_HW_BFIFO)) { snprintf(fc->log, LOG_SIZE, "B%1d-recv %s %d ", bch->nr, fc->name, count); print_hex_dump_bytes(fc->log, DUMP_PREFIX_OFFSET, p, count); diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c index 884c090..144c35a 100644 --- a/drivers/isdn/hardware/mISDN/hfcmulti.c +++ b/drivers/isdn/hardware/mISDN/hfcmulti.c @@ -2456,12 +2456,12 @@ handle_timer_irq(struct hfc_multi *hc) spin_unlock_irqrestore(&HFClock, flags); } if (test_bit(HFC_CHIP_2MBITRAW, &hc->chip)) { - if (hc->created[hc->chan[0].port] && hc->chan[ch].bch && + ch = 0; + if (hc->created[hc->chan[ch].port] && hc->chan[ch].bch && test_bit(FLG_ACTIVE, &hc->chan[ch].bch->Flags)) { ch_activ++; - hfcmulti_tx(hc, 0); - hfcmulti_rx(hc, 0); - ch = 1; + hfcmulti_tx(hc, ch); + hfcmulti_rx(hc, ch); if (hc->chan[ch].dch && hc->chan[ch].nt_timer > -1) { dch = hc->chan[ch].dch;