From patchwork Tue Dec 6 12:49:00 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: sjur.brandeland@stericsson.com X-Patchwork-Id: 129673 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 D9EB71007D5 for ; Tue, 6 Dec 2011 23:49:44 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933271Ab1LFMtk (ORCPT ); Tue, 6 Dec 2011 07:49:40 -0500 Received: from mail-lpp01m010-f46.google.com ([209.85.215.46]:45699 "EHLO mail-lpp01m010-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933195Ab1LFMti (ORCPT ); Tue, 6 Dec 2011 07:49:38 -0500 Received: by mail-lpp01m010-f46.google.com with SMTP id p5so1549849lag.19 for ; Tue, 06 Dec 2011 04:49:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=ou0D6ZOSIB5fwXMlIPigPWLy9UFIS20fIMmjN4cqnEk=; b=nrB7vGZGBZxXFjazomJ5H0UYrGPTCwnq/N/IMlYw8CVsSXcIiBm68f7MTT8Eekb6mj kFLTYWtsPO/878IYeibd00gbtiJZzcsy/0PWqsh3QawYFxD8VBu1VUwIATr8DZzghOGU H5MU/+k5fR5M6WgLjcd5AEzk/4x7+W2cOuNd0= Received: by 10.152.123.75 with SMTP id ly11mr8978564lab.32.1323175777660; Tue, 06 Dec 2011 04:49:37 -0800 (PST) Received: from localhost.localdomain ([212.4.57.94]) by mx.google.com with ESMTPS id pc8sm20915937lab.8.2011.12.06.04.49.36 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 06 Dec 2011 04:49:36 -0800 (PST) From: =?UTF-8?q?Sjur=20Br=C3=A6ndeland?= To: netdev@vger.kernel.org, David Miller Cc: =?UTF-8?q?Roar=20F=C3=B8rde?= , =?UTF-8?q?Sjur=20Br=C3=A6ndeland?= Subject: [PATCH net-next 4/4] caif: Replace BUG_ON with WARN_ON. Date: Tue, 6 Dec 2011 13:49:00 +0100 Message-Id: <1323175740-1952-4-git-send-email-sjur.brandeland@stericsson.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1323175740-1952-1-git-send-email-sjur.brandeland@stericsson.com> References: <1323175740-1952-1-git-send-email-sjur.brandeland@stericsson.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Roar Førde BUG_ON is too strict in a number of circumstances, use WARN_ON instead. Protocol errors should not halt the system. Signed-off-by: Sjur Brændeland --- drivers/net/caif/caif_hsi.c | 2 +- drivers/net/caif/caif_serial.c | 4 ++-- drivers/net/caif/caif_shmcore.c | 8 +++++++- net/caif/caif_dev.c | 6 +++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/drivers/net/caif/caif_hsi.c b/drivers/net/caif/caif_hsi.c index a85b29e..0a4fc62 100644 --- a/drivers/net/caif/caif_hsi.c +++ b/drivers/net/caif/caif_hsi.c @@ -933,7 +933,7 @@ static int cfhsi_xmit(struct sk_buff *skb, struct net_device *dev) /* Create HSI frame. */ len = cfhsi_tx_frm(desc, cfhsi); - BUG_ON(!len); + WARN_ON(!len); /* Set up new transfer. */ res = cfhsi->dev->cfhsi_tx(cfhsi->tx_buf, len, cfhsi->dev); diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c index 23406e6..9341a2d 100644 --- a/drivers/net/caif/caif_serial.c +++ b/drivers/net/caif/caif_serial.c @@ -261,7 +261,7 @@ static int handle_tx(struct ser_device *ser) skb_pull(skb, tty_wr); if (skb->len == 0) { struct sk_buff *tmp = skb_dequeue(&ser->head); - BUG_ON(tmp != skb); + WARN_ON(tmp != skb); if (in_interrupt()) dev_kfree_skb_irq(skb); else @@ -305,7 +305,7 @@ static void ldisc_tx_wakeup(struct tty_struct *tty) ser = tty->disc_data; BUG_ON(ser == NULL); - BUG_ON(ser->tty != tty); + WARN_ON(ser->tty != tty); handle_tx(ser); } diff --git a/drivers/net/caif/caif_shmcore.c b/drivers/net/caif/caif_shmcore.c index a0b8acd..da8310e 100644 --- a/drivers/net/caif/caif_shmcore.c +++ b/drivers/net/caif/caif_shmcore.c @@ -337,7 +337,13 @@ static void shm_rx_work_func(struct work_struct *rx_work) /* Get a suitable CAIF packet and copy in data. */ skb = netdev_alloc_skb(pshm_drv->pshm_dev->pshm_netdev, frm_pck_len + 1); - BUG_ON(skb == NULL); + /* + * If OOM try next packet. + */ + if (skb == NULL) { + pr_warn("OOM: Try next packet\n"); + break; + } p = skb_put(skb, frm_pck_len); memcpy(p, pbuf->desc_vptr + frm_pck_ofs, frm_pck_len); diff --git a/net/caif/caif_dev.c b/net/caif/caif_dev.c index 9b298c1..29742d1 100644 --- a/net/caif/caif_dev.c +++ b/net/caif/caif_dev.c @@ -58,7 +58,6 @@ static int q_high = 50; /* Percent */ struct cfcnfg *get_cfcnfg(struct net *net) { struct caif_net *caifn; - BUG_ON(!net); caifn = net_generic(net, caif_net_id); if (!caifn) return NULL; @@ -69,7 +68,6 @@ EXPORT_SYMBOL(get_cfcnfg); static struct caif_device_entry_list *caif_device_list(struct net *net) { struct caif_net *caifn; - BUG_ON(!net); caifn = net_generic(net, caif_net_id); if (!caifn) return NULL; @@ -507,7 +505,9 @@ static struct notifier_block caif_device_notifier = { static int caif_init_net(struct net *net) { struct caif_net *caifn = net_generic(net, caif_net_id); - BUG_ON(!caifn); + if (WARN_ON(!caifn)) + return -EINVAL; + INIT_LIST_HEAD(&caifn->caifdevs.list); mutex_init(&caifn->caifdevs.lock);