Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

caif: Replace BUG_ON with WARN_ON.

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 <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Roar Førde and committed by
David S. Miller
f84ea779 095d2a71

+12 -10
+1 -1
drivers/net/caif/caif_hsi.c
··· 933 933 934 934 /* Create HSI frame. */ 935 935 len = cfhsi_tx_frm(desc, cfhsi); 936 - BUG_ON(!len); 936 + WARN_ON(!len); 937 937 938 938 /* Set up new transfer. */ 939 939 res = cfhsi->dev->cfhsi_tx(cfhsi->tx_buf, len, cfhsi->dev);
+2 -2
drivers/net/caif/caif_serial.c
··· 261 261 skb_pull(skb, tty_wr); 262 262 if (skb->len == 0) { 263 263 struct sk_buff *tmp = skb_dequeue(&ser->head); 264 - BUG_ON(tmp != skb); 264 + WARN_ON(tmp != skb); 265 265 if (in_interrupt()) 266 266 dev_kfree_skb_irq(skb); 267 267 else ··· 305 305 306 306 ser = tty->disc_data; 307 307 BUG_ON(ser == NULL); 308 - BUG_ON(ser->tty != tty); 308 + WARN_ON(ser->tty != tty); 309 309 handle_tx(ser); 310 310 } 311 311
+5 -1
drivers/net/caif/caif_shmcore.c
··· 337 337 /* Get a suitable CAIF packet and copy in data. */ 338 338 skb = netdev_alloc_skb(pshm_drv->pshm_dev->pshm_netdev, 339 339 frm_pck_len + 1); 340 - BUG_ON(skb == NULL); 340 + 341 + if (skb == NULL) { 342 + pr_info("OOM: Try next frame in descriptor\n"); 343 + break; 344 + } 341 345 342 346 p = skb_put(skb, frm_pck_len); 343 347 memcpy(p, pbuf->desc_vptr + frm_pck_ofs, frm_pck_len);
+4 -6
net/caif/caif_dev.c
··· 58 58 struct cfcnfg *get_cfcnfg(struct net *net) 59 59 { 60 60 struct caif_net *caifn; 61 - BUG_ON(!net); 62 61 caifn = net_generic(net, caif_net_id); 63 62 if (!caifn) 64 63 return NULL; ··· 68 69 static struct caif_device_entry_list *caif_device_list(struct net *net) 69 70 { 70 71 struct caif_net *caifn; 71 - BUG_ON(!net); 72 72 caifn = net_generic(net, caif_net_id); 73 73 if (!caifn) 74 74 return NULL; ··· 505 507 static int caif_init_net(struct net *net) 506 508 { 507 509 struct caif_net *caifn = net_generic(net, caif_net_id); 508 - BUG_ON(!caifn); 510 + if (WARN_ON(!caifn)) 511 + return -EINVAL; 512 + 509 513 INIT_LIST_HEAD(&caifn->caifdevs.list); 510 514 mutex_init(&caifn->caifdevs.lock); 511 515 512 516 caifn->cfg = cfcnfg_create(); 513 - if (!caifn->cfg) { 514 - pr_warn("can't create cfcnfg\n"); 517 + if (!caifn->cfg) 515 518 return -ENOMEM; 516 - } 517 519 518 520 return 0; 519 521 }