Skip to content

Commit

Permalink
drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb
Browse files Browse the repository at this point in the history
Emitting netdev_alloc_skb and netdev_alloc_skb_ip_align OOM
messages is unnecessary as there is already a dump_stack
after allocation failures.

Other trivial changes around these removals:

Convert a few comparisons of pointer to 0 to !pointer.
Change flow to remove unnecessary label.
Remove now unused variable.
Hoist assignment from if.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Joe Perches authored and David S. Miller committed Mar 9, 2013
1 parent e8f83e5 commit 720a43e
Show file tree
Hide file tree
Showing 47 changed files with 39 additions and 161 deletions.
5 changes: 1 addition & 4 deletions drivers/net/caif/caif_shmcore.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,11 +338,8 @@ 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);

if (skb == NULL) {
pr_info("OOM: Try next frame in descriptor\n");
if (skb == NULL)
break;
}

p = skb_put(skb, frm_pck_len);
memcpy(p, pbuf->desc_vptr + frm_pck_ofs, frm_pck_len);
Expand Down
6 changes: 2 additions & 4 deletions drivers/net/ethernet/adi/bfin_mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,10 +188,9 @@ static int desc_list_init(struct net_device *dev)

/* allocate a new skb for next time receive */
new_skb = netdev_alloc_skb(dev, PKT_BUF_SZ + NET_IP_ALIGN);
if (!new_skb) {
pr_notice("init: low on mem - packet dropped\n");
if (!new_skb)
goto init_error;
}

skb_reserve(new_skb, NET_IP_ALIGN);
/* Invidate the data cache of skb->data range when it is write back
* cache. It will prevent overwritting the new data from DMA
Expand Down Expand Up @@ -1236,7 +1235,6 @@ static void bfin_mac_rx(struct net_device *dev)

new_skb = netdev_alloc_skb(dev, PKT_BUF_SZ + NET_IP_ALIGN);
if (!new_skb) {
netdev_notice(dev, "rx: low on mem - packet dropped\n");
dev->stats.rx_dropped++;
goto out;
}
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/ethernet/amd/7990.c
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,6 @@ static int lance_rx (struct net_device *dev)
struct sk_buff *skb = netdev_alloc_skb(dev, len + 2);

if (!skb) {
printk ("%s: Memory squeeze, deferring packet.\n",
dev->name);
dev->stats.rx_dropped++;
rd->mblength = 0;
rd->rmd1_bits = LE_R1_OWN;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/amd/a2065.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,6 @@ static int lance_rx(struct net_device *dev)
struct sk_buff *skb = netdev_alloc_skb(dev, len + 2);

if (!skb) {
netdev_warn(dev, "Memory squeeze, deferring packet\n");
dev->stats.rx_dropped++;
rd->mblength = 0;
rd->rmd1_bits = LE_R1_OWN;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/amd/am79c961a.c
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,6 @@ am79c961_rx(struct net_device *dev, struct dev_priv *priv)
dev->stats.rx_packets++;
} else {
am_writeword (dev, hdraddr + 2, RMD_OWN);
printk (KERN_WARNING "%s: memory squeeze, dropping packet.\n", dev->name);
dev->stats.rx_dropped++;
break;
}
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/amd/ariadne.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,6 @@ static int ariadne_rx(struct net_device *dev)

skb = netdev_alloc_skb(dev, pkt_len + 2);
if (skb == NULL) {
netdev_warn(dev, "Memory squeeze, deferring packet\n");
for (i = 0; i < RX_RING_SIZE; i++)
if (lowb(priv->rx_ring[(entry + i) % RX_RING_SIZE]->RMD1) & RF_OWN)
break;
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/ethernet/amd/atarilance.c
Original file line number Diff line number Diff line change
Expand Up @@ -996,8 +996,6 @@ static int lance_rx( struct net_device *dev )
else {
skb = netdev_alloc_skb(dev, pkt_len + 2);
if (skb == NULL) {
DPRINTK( 1, ( "%s: Memory squeeze, deferring packet.\n",
dev->name ));
for( i = 0; i < RX_RING_SIZE; i++ )
if (MEM->rx_head[(entry+i) & RX_RING_MOD_MASK].flag &
RMD1_OWN_CHIP)
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/amd/au1000_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -727,7 +727,6 @@ static int au1000_rx(struct net_device *dev)
frmlen -= 4; /* Remove FCS */
skb = netdev_alloc_skb(dev, frmlen + 2);
if (skb == NULL) {
netdev_err(dev, "Memory squeeze, dropping packet.\n");
dev->stats.rx_dropped++;
continue;
}
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/ethernet/amd/declance.c
Original file line number Diff line number Diff line change
Expand Up @@ -607,8 +607,6 @@ static int lance_rx(struct net_device *dev)
skb = netdev_alloc_skb(dev, len + 2);

if (skb == 0) {
printk("%s: Memory squeeze, deferring packet.\n",
dev->name);
dev->stats.rx_dropped++;
*rds_ptr(rd, mblength, lp->type) = 0;
*rds_ptr(rd, rmd1, lp->type) =
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/amd/pcnet32.c
Original file line number Diff line number Diff line change
Expand Up @@ -1166,7 +1166,6 @@ static void pcnet32_rx_entry(struct net_device *dev,
skb = netdev_alloc_skb(dev, pkt_len + NET_IP_ALIGN);

if (skb == NULL) {
netif_err(lp, drv, dev, "Memory squeeze, dropping packet\n");
dev->stats.rx_dropped++;
return;
}
Expand Down
3 changes: 0 additions & 3 deletions drivers/net/ethernet/amd/sun3lance.c
Original file line number Diff line number Diff line change
Expand Up @@ -812,9 +812,6 @@ static int lance_rx( struct net_device *dev )
else {
skb = netdev_alloc_skb(dev, pkt_len + 2);
if (skb == NULL) {
DPRINTK( 1, ( "%s: Memory squeeze, deferring packet.\n",
dev->name ));

dev->stats.rx_dropped++;
head->msg_length = 0;
head->flag |= RMD1_OWN_CHIP;
Expand Down
4 changes: 0 additions & 4 deletions drivers/net/ethernet/amd/sunlance.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,8 +536,6 @@ static void lance_rx_dvma(struct net_device *dev)
skb = netdev_alloc_skb(dev, len + 2);

if (skb == NULL) {
printk(KERN_INFO "%s: Memory squeeze, deferring packet.\n",
dev->name);
dev->stats.rx_dropped++;
rd->mblength = 0;
rd->rmd1_bits = LE_R1_OWN;
Expand Down Expand Up @@ -708,8 +706,6 @@ static void lance_rx_pio(struct net_device *dev)
skb = netdev_alloc_skb(dev, len + 2);

if (skb == NULL) {
printk(KERN_INFO "%s: Memory squeeze, deferring packet.\n",
dev->name);
dev->stats.rx_dropped++;
sbus_writew(0, &rd->mblength);
sbus_writeb(LE_R1_OWN, &rd->rmd1_bits);
Expand Down
6 changes: 2 additions & 4 deletions drivers/net/ethernet/atheros/atl1e/atl1e_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1420,11 +1420,9 @@ static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
packet_size = ((prrs->word1 >> RRS_PKT_SIZE_SHIFT) &
RRS_PKT_SIZE_MASK) - 4; /* CRC */
skb = netdev_alloc_skb_ip_align(netdev, packet_size);
if (skb == NULL) {
netdev_warn(netdev,
"Memory squeeze, deferring packet\n");
if (skb == NULL)
goto skip_pkt;
}

memcpy(skb->data, (u8 *)(prrs + 1), packet_size);
skb_put(skb, packet_size);
skb->protocol = eth_type_trans(skb, netdev);
Expand Down
3 changes: 0 additions & 3 deletions drivers/net/ethernet/atheros/atlx/atl2.c
Original file line number Diff line number Diff line change
Expand Up @@ -437,9 +437,6 @@ static void atl2_intr_rx(struct atl2_adapter *adapter)
/* alloc new buffer */
skb = netdev_alloc_skb_ip_align(netdev, rx_size);
if (NULL == skb) {
printk(KERN_WARNING
"%s: Mem squeeze, deferring packet.\n",
netdev->name);
/*
* Check that some rx space is free. If not,
* free one and mark stats->rx_dropped++.
Expand Down
4 changes: 1 addition & 3 deletions drivers/net/ethernet/broadcom/bgmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,10 +245,8 @@ static int bgmac_dma_rx_skb_for_slot(struct bgmac *bgmac,

/* Alloc skb */
slot->skb = netdev_alloc_skb(bgmac->net_dev, BGMAC_RX_BUF_SIZE);
if (!slot->skb) {
bgmac_err(bgmac, "Allocation of skb failed!\n");
if (!slot->skb)
return -ENOMEM;
}

/* Poison - if everything goes fine, hardware will overwrite it */
rx = (struct bgmac_rx_header *)slot->skb->data;
Expand Down
5 changes: 1 addition & 4 deletions drivers/net/ethernet/broadcom/sb1250-mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -831,11 +831,8 @@ static int sbdma_add_rcvbuffer(struct sbmac_softc *sc, struct sbmacdma *d,
sb_new = netdev_alloc_skb(dev, ENET_PACKET_SIZE +
SMP_CACHE_BYTES * 2 +
NET_IP_ALIGN);
if (sb_new == NULL) {
pr_info("%s: sk_buff allocation failed\n",
d->sbdma_eth->sbm_dev->name);
if (sb_new == NULL)
return -ENOBUFS;
}

sbdma_align_skb(sb_new, SMP_CACHE_BYTES, NET_IP_ALIGN);
}
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/cadence/at91_ether.c
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,6 @@ static void at91ether_rx(struct net_device *dev)
netif_rx(skb);
} else {
lp->stats.rx_dropped++;
netdev_notice(dev, "Memory squeeze, dropping packet.\n");
}

if (lp->rx_ring[lp->rx_tail].ctrl & MACB_BIT(RX_MHASH_MATCH))
Expand Down
6 changes: 0 additions & 6 deletions drivers/net/ethernet/cirrus/cs89x0.c
Original file line number Diff line number Diff line change
Expand Up @@ -478,9 +478,6 @@ dma_rx(struct net_device *dev)
/* Malloc up new buffer. */
skb = netdev_alloc_skb(dev, length + 2);
if (skb == NULL) {
/* I don't think we want to do this to a stressed system */
cs89_dbg(0, err, "%s: Memory squeeze, dropping packet\n",
dev->name);
dev->stats.rx_dropped++;

/* AKPM: advance bp to the next frame */
Expand Down Expand Up @@ -731,9 +728,6 @@ net_rx(struct net_device *dev)
/* Malloc up new buffer. */
skb = netdev_alloc_skb(dev, length + 2);
if (skb == NULL) {
#if 0 /* Again, this seems a cruel thing to do */
pr_warn("%s: Memory squeeze, dropping packet\n", dev->name);
#endif
dev->stats.rx_dropped++;
return;
}
Expand Down
7 changes: 2 additions & 5 deletions drivers/net/ethernet/dlink/dl2k.c
Original file line number Diff line number Diff line change
Expand Up @@ -580,12 +580,9 @@ alloc_list (struct net_device *dev)

skb = netdev_alloc_skb_ip_align(dev, np->rx_buf_sz);
np->rx_skbuff[i] = skb;
if (skb == NULL) {
printk (KERN_ERR
"%s: alloc_list: allocate Rx buffer error! ",
dev->name);
if (skb == NULL)
break;
}

/* Rubicon now supports 40 bits of addressing space. */
np->rx_ring[i].fraginfo =
cpu_to_le64 ( pci_map_single (
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/ethernet/freescale/fec.c
Original file line number Diff line number Diff line change
Expand Up @@ -743,8 +743,6 @@ fec_enet_rx(struct net_device *ndev, int budget)
skb = netdev_alloc_skb(ndev, pkt_len - 4 + NET_IP_ALIGN);

if (unlikely(!skb)) {
printk("%s: Memory squeeze, dropping packet.\n",
ndev->name);
ndev->stats.rx_dropped++;
} else {
skb_reserve(skb, NET_IP_ALIGN);
Expand Down
17 changes: 3 additions & 14 deletions drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,6 @@ static int fs_enet_rx_napi(struct napi_struct *napi, int budget)
received++;
netif_receive_skb(skb);
} else {
dev_warn(fep->dev,
"Memory squeeze, dropping packet.\n");
fep->stats.rx_dropped++;
skbn = skb;
}
Expand Down Expand Up @@ -309,8 +307,6 @@ static int fs_enet_rx_non_napi(struct net_device *dev)
received++;
netif_rx(skb);
} else {
dev_warn(fep->dev,
"Memory squeeze, dropping packet.\n");
fep->stats.rx_dropped++;
skbn = skb;
}
Expand Down Expand Up @@ -505,11 +501,9 @@ void fs_init_bds(struct net_device *dev)
*/
for (i = 0, bdp = fep->rx_bd_base; i < fep->rx_ring; i++, bdp++) {
skb = netdev_alloc_skb(dev, ENET_RX_FRSIZE);
if (skb == NULL) {
dev_warn(fep->dev,
"Memory squeeze, unable to allocate skb\n");
if (skb == NULL)
break;
}

skb_align(skb, ENET_RX_ALIGN);
fep->rx_skbuff[i] = skb;
CBDW_BUFADDR(bdp,
Expand Down Expand Up @@ -593,13 +587,8 @@ static struct sk_buff *tx_skb_align_workaround(struct net_device *dev,

/* Alloc new skb */
new_skb = netdev_alloc_skb(dev, skb->len + 4);
if (!new_skb) {
if (net_ratelimit()) {
dev_warn(fep->dev,
"Memory squeeze, dropping tx packet.\n");
}
if (!new_skb)
return NULL;
}

/* Make sure new skb is properly aligned */
skb_align(new_skb, 4);
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/ethernet/fujitsu/fmvj18x_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1003,8 +1003,6 @@ static void fjn_rx(struct net_device *dev)
}
skb = netdev_alloc_skb(dev, pkt_len + 2);
if (skb == NULL) {
netdev_notice(dev, "Memory squeeze, dropping packet (len %d)\n",
pkt_len);
outb(F_SKP_PKT, ioaddr + RX_SKIP);
dev->stats.rx_dropped++;
break;
Expand Down
8 changes: 3 additions & 5 deletions drivers/net/ethernet/i825xx/82596.c
Original file line number Diff line number Diff line change
Expand Up @@ -798,16 +798,14 @@ static inline int i596_rx(struct net_device *dev)
#ifdef __mc68000__
cache_clear(virt_to_phys(newskb->data), PKT_BUF_SZ);
#endif
}
else
} else {
skb = netdev_alloc_skb(dev, pkt_len + 2);
}
memory_squeeze:
if (skb == NULL) {
/* XXX tulip.c can defer packets here!! */
printk(KERN_WARNING "%s: i596_rx Memory squeeze, dropping packet.\n", dev->name);
dev->stats.rx_dropped++;
}
else {
} else {
if (!rx_in_place) {
/* 16 byte align the data fields */
skb_reserve(skb, 2);
Expand Down
6 changes: 2 additions & 4 deletions drivers/net/ethernet/i825xx/lib82596.c
Original file line number Diff line number Diff line change
Expand Up @@ -715,14 +715,12 @@ static inline int i596_rx(struct net_device *dev)
rbd->v_data = newskb->data;
rbd->b_data = SWAP32(dma_addr);
DMA_WBACK_INV(dev, rbd, sizeof(struct i596_rbd));
} else
} else {
skb = netdev_alloc_skb_ip_align(dev, pkt_len);
}
memory_squeeze:
if (skb == NULL) {
/* XXX tulip.c can defer packets here!! */
printk(KERN_ERR
"%s: i596_rx Memory squeeze, dropping packet.\n",
dev->name);
dev->stats.rx_dropped++;
} else {
if (!rx_in_place) {
Expand Down
9 changes: 2 additions & 7 deletions drivers/net/ethernet/ibm/ehea/ehea_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,6 @@ static void ehea_refill_rq1(struct ehea_port_res *pr, int index, int nr_of_wqes)
skb_arr_rq1[index] = netdev_alloc_skb(dev,
EHEA_L_PKT_SIZE);
if (!skb_arr_rq1[index]) {
netdev_info(dev, "Unable to allocate enough skb in the array\n");
pr->rq1_skba.os_skbs = fill_wqes - i;
break;
}
Expand Down Expand Up @@ -432,10 +431,8 @@ static void ehea_init_fill_rq1(struct ehea_port_res *pr, int nr_rq1a)

for (i = 0; i < nr_rq1a; i++) {
skb_arr_rq1[i] = netdev_alloc_skb(dev, EHEA_L_PKT_SIZE);
if (!skb_arr_rq1[i]) {
netdev_info(dev, "Not enough memory to allocate skb array\n");
if (!skb_arr_rq1[i])
break;
}
}
/* Ring doorbell */
ehea_update_rq1a(pr->qp, i - 1);
Expand Down Expand Up @@ -695,10 +692,8 @@ static int ehea_proc_rwqes(struct net_device *dev,

skb = netdev_alloc_skb(dev,
EHEA_L_PKT_SIZE);
if (!skb) {
netdev_err(dev, "Not enough memory to allocate skb\n");
if (!skb)
break;
}
}
skb_copy_to_linear_data(skb, ((char *)cqe) + 64,
cqe->num_bytes_transfered - 4);
Expand Down
5 changes: 2 additions & 3 deletions drivers/net/ethernet/mellanox/mlx4/en_selftest.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,9 @@ static int mlx4_en_test_loopback_xmit(struct mlx4_en_priv *priv)

/* build the pkt before xmit */
skb = netdev_alloc_skb(priv->dev, MLX4_LOOPBACK_TEST_PAYLOAD + ETH_HLEN + NET_IP_ALIGN);
if (!skb) {
en_err(priv, "-LOOPBACK_TEST_XMIT- failed to create skb for xmit\n");
if (!skb)
return -ENOMEM;
}

skb_reserve(skb, NET_IP_ALIGN);

ethh = (struct ethhdr *)skb_put(skb, sizeof(struct ethhdr));
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/natsemi/sonic.c
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,6 @@ static void sonic_rx(struct net_device *dev)
/* Malloc up new buffer. */
new_skb = netdev_alloc_skb(dev, SONIC_RBSIZE + 2);
if (new_skb == NULL) {
printk(KERN_ERR "%s: Memory squeeze, dropping packet.\n", dev->name);
lp->stats.rx_dropped++;
break;
}
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/ethernet/netx-eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,6 @@ static void netx_eth_receive(struct net_device *ndev)

skb = netdev_alloc_skb(ndev, len);
if (unlikely(skb == NULL)) {
printk(KERN_NOTICE "%s: Low memory, packet dropped.\n",
ndev->name);
ndev->stats.rx_dropped++;
return;
}
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/nuvoton/w90p910_ether.c
Original file line number Diff line number Diff line change
Expand Up @@ -737,7 +737,6 @@ static void netdev_rx(struct net_device *dev)
data = ether->rdesc->recv_buf[ether->cur_rx];
skb = netdev_alloc_skb(dev, length + 2);
if (!skb) {
dev_err(&pdev->dev, "get skb buffer error\n");
ether->stats.rx_dropped++;
return;
}
Expand Down
Loading

0 comments on commit 720a43e

Please sign in to comment.