aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2013-02-07 06:46:27 -0500
committerDavid S. Miller <davem@davemloft.net>2013-02-08 17:44:39 -0500
commit14f8dc49532f765968ff37c3b99edbeb99004ace (patch)
treea0c2f42ca545b3587a071ad05427c7351c8244e0 /drivers/net
parente9ba103931950da7bc87d58ffe39612df17d47af (diff)
drivers: net: Remove remaining alloc/OOM messages
alloc failures already get standardized OOM messages and a dump_stack. For the affected mallocs around these OOM messages: Converted kmallocs with multiplies to kmalloc_array. Converted a kmalloc/memcpy to kmemdup. Removed now unused stack variables. Removed unnecessary parentheses. Neatened alignment. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Arend van Spriel <arend@broadcom.com> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> Acked-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/can/usb/ems_usb.c4
-rw-r--r--drivers/net/ethernet/amd/pcnet32.c47
-rw-r--r--drivers/net/ethernet/freescale/gianfar.c25
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_main.c14
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_main.c10
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c4
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_ethtool.c2
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_netdev.c11
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_rx.c6
-rw-r--r--drivers/net/ethernet/qlogic/qlge/qlge_main.c22
-rw-r--r--drivers/net/ethernet/smsc/smsc9420.c9
-rw-r--r--drivers/net/usb/pegasus.c6
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_txrx.c11
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c7
-rw-r--r--drivers/net/wireless/ath/ath9k/rc.c12
-rw-r--r--drivers/net/wireless/ath/wil6210/txrx.c2
-rw-r--r--drivers/net/wireless/ath/wil6210/wmi.c10
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c5
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/usb.c7
-rw-r--r--drivers/net/wireless/mwl8k.c2
20 files changed, 66 insertions, 150 deletions
diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c
index 0e7bde73c3d2..5f9a7ad9b964 100644
--- a/drivers/net/can/usb/ems_usb.c
+++ b/drivers/net/can/usb/ems_usb.c
@@ -1019,10 +1019,8 @@ static int ems_usb_probe(struct usb_interface *intf,
1019 1019
1020 dev->tx_msg_buffer = kzalloc(CPC_HEADER_SIZE + 1020 dev->tx_msg_buffer = kzalloc(CPC_HEADER_SIZE +
1021 sizeof(struct ems_cpc_msg), GFP_KERNEL); 1021 sizeof(struct ems_cpc_msg), GFP_KERNEL);
1022 if (!dev->tx_msg_buffer) { 1022 if (!dev->tx_msg_buffer)
1023 dev_err(&intf->dev, "Couldn't alloc Tx buffer\n");
1024 goto cleanup_intr_in_buffer; 1023 goto cleanup_intr_in_buffer;
1025 }
1026 1024
1027 usb_set_intfdata(intf, dev); 1025 usb_set_intfdata(intf, dev);
1028 1026
diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c
index 74cfc017adcf..797f847edf13 100644
--- a/drivers/net/ethernet/amd/pcnet32.c
+++ b/drivers/net/ethernet/amd/pcnet32.c
@@ -494,19 +494,15 @@ static void pcnet32_realloc_tx_ring(struct net_device *dev,
494 } 494 }
495 memset(new_tx_ring, 0, sizeof(struct pcnet32_tx_head) * (1 << size)); 495 memset(new_tx_ring, 0, sizeof(struct pcnet32_tx_head) * (1 << size));
496 496
497 new_dma_addr_list = kcalloc((1 << size), sizeof(dma_addr_t), 497 new_dma_addr_list = kcalloc(1 << size, sizeof(dma_addr_t),
498 GFP_ATOMIC); 498 GFP_ATOMIC);
499 if (!new_dma_addr_list) { 499 if (!new_dma_addr_list)
500 netif_err(lp, drv, dev, "Memory allocation failed\n");
501 goto free_new_tx_ring; 500 goto free_new_tx_ring;
502 }
503 501
504 new_skb_list = kcalloc((1 << size), sizeof(struct sk_buff *), 502 new_skb_list = kcalloc(1 << size, sizeof(struct sk_buff *),
505 GFP_ATOMIC); 503 GFP_ATOMIC);
506 if (!new_skb_list) { 504 if (!new_skb_list)
507 netif_err(lp, drv, dev, "Memory allocation failed\n");
508 goto free_new_lists; 505 goto free_new_lists;
509 }
510 506
511 kfree(lp->tx_skbuff); 507 kfree(lp->tx_skbuff);
512 kfree(lp->tx_dma_addr); 508 kfree(lp->tx_dma_addr);
@@ -564,19 +560,14 @@ static void pcnet32_realloc_rx_ring(struct net_device *dev,
564 } 560 }
565 memset(new_rx_ring, 0, sizeof(struct pcnet32_rx_head) * (1 << size)); 561 memset(new_rx_ring, 0, sizeof(struct pcnet32_rx_head) * (1 << size));
566 562
567 new_dma_addr_list = kcalloc((1 << size), sizeof(dma_addr_t), 563 new_dma_addr_list = kcalloc(1 << size, sizeof(dma_addr_t), GFP_ATOMIC);
568 GFP_ATOMIC); 564 if (!new_dma_addr_list)
569 if (!new_dma_addr_list) {
570 netif_err(lp, drv, dev, "Memory allocation failed\n");
571 goto free_new_rx_ring; 565 goto free_new_rx_ring;
572 }
573 566
574 new_skb_list = kcalloc((1 << size), sizeof(struct sk_buff *), 567 new_skb_list = kcalloc(1 << size, sizeof(struct sk_buff *),
575 GFP_ATOMIC); 568 GFP_ATOMIC);
576 if (!new_skb_list) { 569 if (!new_skb_list)
577 netif_err(lp, drv, dev, "Memory allocation failed\n");
578 goto free_new_lists; 570 goto free_new_lists;
579 }
580 571
581 /* first copy the current receive buffers */ 572 /* first copy the current receive buffers */
582 overlap = min(size, lp->rx_ring_size); 573 overlap = min(size, lp->rx_ring_size);
@@ -1933,31 +1924,23 @@ static int pcnet32_alloc_ring(struct net_device *dev, const char *name)
1933 1924
1934 lp->tx_dma_addr = kcalloc(lp->tx_ring_size, sizeof(dma_addr_t), 1925 lp->tx_dma_addr = kcalloc(lp->tx_ring_size, sizeof(dma_addr_t),
1935 GFP_ATOMIC); 1926 GFP_ATOMIC);
1936 if (!lp->tx_dma_addr) { 1927 if (!lp->tx_dma_addr)
1937 netif_err(lp, drv, dev, "Memory allocation failed\n");
1938 return -ENOMEM; 1928 return -ENOMEM;
1939 }
1940 1929
1941 lp->rx_dma_addr = kcalloc(lp->rx_ring_size, sizeof(dma_addr_t), 1930 lp->rx_dma_addr = kcalloc(lp->rx_ring_size, sizeof(dma_addr_t),
1942 GFP_ATOMIC); 1931 GFP_ATOMIC);
1943 if (!lp->rx_dma_addr) { 1932 if (!lp->rx_dma_addr)
1944 netif_err(lp, drv, dev, "Memory allocation failed\n");
1945 return -ENOMEM; 1933 return -ENOMEM;
1946 }
1947 1934
1948 lp->tx_skbuff = kcalloc(lp->tx_ring_size, sizeof(struct sk_buff *), 1935 lp->tx_skbuff = kcalloc(lp->tx_ring_size, sizeof(struct sk_buff *),
1949 GFP_ATOMIC); 1936 GFP_ATOMIC);
1950 if (!lp->tx_skbuff) { 1937 if (!lp->tx_skbuff)
1951 netif_err(lp, drv, dev, "Memory allocation failed\n");
1952 return -ENOMEM; 1938 return -ENOMEM;
1953 }
1954 1939
1955 lp->rx_skbuff = kcalloc(lp->rx_ring_size, sizeof(struct sk_buff *), 1940 lp->rx_skbuff = kcalloc(lp->rx_ring_size, sizeof(struct sk_buff *),
1956 GFP_ATOMIC); 1941 GFP_ATOMIC);
1957 if (!lp->rx_skbuff) { 1942 if (!lp->rx_skbuff)
1958 netif_err(lp, drv, dev, "Memory allocation failed\n");
1959 return -ENOMEM; 1943 return -ENOMEM;
1960 }
1961 1944
1962 return 0; 1945 return 0;
1963} 1946}
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 75734bfed10f..ab32bd0be8ff 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -277,14 +277,12 @@ static int gfar_alloc_skb_resources(struct net_device *ndev)
277 /* Setup the skbuff rings */ 277 /* Setup the skbuff rings */
278 for (i = 0; i < priv->num_tx_queues; i++) { 278 for (i = 0; i < priv->num_tx_queues; i++) {
279 tx_queue = priv->tx_queue[i]; 279 tx_queue = priv->tx_queue[i];
280 tx_queue->tx_skbuff = kmalloc(sizeof(*tx_queue->tx_skbuff) * 280 tx_queue->tx_skbuff =
281 tx_queue->tx_ring_size, 281 kmalloc_array(tx_queue->tx_ring_size,
282 GFP_KERNEL); 282 sizeof(*tx_queue->tx_skbuff),
283 if (!tx_queue->tx_skbuff) { 283 GFP_KERNEL);
284 netif_err(priv, ifup, ndev, 284 if (!tx_queue->tx_skbuff)
285 "Could not allocate tx_skbuff\n");
286 goto cleanup; 285 goto cleanup;
287 }
288 286
289 for (k = 0; k < tx_queue->tx_ring_size; k++) 287 for (k = 0; k < tx_queue->tx_ring_size; k++)
290 tx_queue->tx_skbuff[k] = NULL; 288 tx_queue->tx_skbuff[k] = NULL;
@@ -292,15 +290,12 @@ static int gfar_alloc_skb_resources(struct net_device *ndev)
292 290
293 for (i = 0; i < priv->num_rx_queues; i++) { 291 for (i = 0; i < priv->num_rx_queues; i++) {
294 rx_queue = priv->rx_queue[i]; 292 rx_queue = priv->rx_queue[i];
295 rx_queue->rx_skbuff = kmalloc(sizeof(*rx_queue->rx_skbuff) * 293 rx_queue->rx_skbuff =
296 rx_queue->rx_ring_size, 294 kmalloc_array(rx_queue->rx_ring_size,
297 GFP_KERNEL); 295 sizeof(*rx_queue->rx_skbuff),
298 296 GFP_KERNEL);
299 if (!rx_queue->rx_skbuff) { 297 if (!rx_queue->rx_skbuff)
300 netif_err(priv, ifup, ndev,
301 "Could not allocate rx_skbuff\n");
302 goto cleanup; 298 goto cleanup;
303 }
304 299
305 for (j = 0; j < rx_queue->rx_ring_size; j++) 300 for (j = 0; j < rx_queue->rx_ring_size; j++)
306 rx_queue->rx_skbuff[j] = NULL; 301 rx_queue->rx_skbuff[j] = NULL;
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index b20fff134378..d947e3aae1e8 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -1509,11 +1509,8 @@ static int e1000_setup_tx_resources(struct e1000_adapter *adapter,
1509 1509
1510 size = sizeof(struct e1000_buffer) * txdr->count; 1510 size = sizeof(struct e1000_buffer) * txdr->count;
1511 txdr->buffer_info = vzalloc(size); 1511 txdr->buffer_info = vzalloc(size);
1512 if (!txdr->buffer_info) { 1512 if (!txdr->buffer_info)
1513 e_err(probe, "Unable to allocate memory for the Tx descriptor "
1514 "ring\n");
1515 return -ENOMEM; 1513 return -ENOMEM;
1516 }
1517 1514
1518 /* round up to nearest 4K */ 1515 /* round up to nearest 4K */
1519 1516
@@ -1704,11 +1701,8 @@ static int e1000_setup_rx_resources(struct e1000_adapter *adapter,
1704 1701
1705 size = sizeof(struct e1000_buffer) * rxdr->count; 1702 size = sizeof(struct e1000_buffer) * rxdr->count;
1706 rxdr->buffer_info = vzalloc(size); 1703 rxdr->buffer_info = vzalloc(size);
1707 if (!rxdr->buffer_info) { 1704 if (!rxdr->buffer_info)
1708 e_err(probe, "Unable to allocate memory for the Rx descriptor "
1709 "ring\n");
1710 return -ENOMEM; 1705 return -ENOMEM;
1711 }
1712 1706
1713 desc_len = sizeof(struct e1000_rx_desc); 1707 desc_len = sizeof(struct e1000_rx_desc);
1714 1708
@@ -2252,10 +2246,8 @@ static void e1000_set_rx_mode(struct net_device *netdev)
2252 int mta_reg_count = E1000_NUM_MTA_REGISTERS; 2246 int mta_reg_count = E1000_NUM_MTA_REGISTERS;
2253 u32 *mcarray = kcalloc(mta_reg_count, sizeof(u32), GFP_ATOMIC); 2247 u32 *mcarray = kcalloc(mta_reg_count, sizeof(u32), GFP_ATOMIC);
2254 2248
2255 if (!mcarray) { 2249 if (!mcarray)
2256 e_err(probe, "memory allocation failed\n");
2257 return; 2250 return;
2258 }
2259 2251
2260 /* Check for Promiscuous and All Multicast modes */ 2252 /* Check for Promiscuous and All Multicast modes */
2261 2253
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
index c7564123dd31..ea4808373435 100644
--- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c
+++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
@@ -708,11 +708,8 @@ ixgb_setup_tx_resources(struct ixgb_adapter *adapter)
708 708
709 size = sizeof(struct ixgb_buffer) * txdr->count; 709 size = sizeof(struct ixgb_buffer) * txdr->count;
710 txdr->buffer_info = vzalloc(size); 710 txdr->buffer_info = vzalloc(size);
711 if (!txdr->buffer_info) { 711 if (!txdr->buffer_info)
712 netif_err(adapter, probe, adapter->netdev,
713 "Unable to allocate transmit descriptor ring memory\n");
714 return -ENOMEM; 712 return -ENOMEM;
715 }
716 713
717 /* round up to nearest 4K */ 714 /* round up to nearest 4K */
718 715
@@ -797,11 +794,8 @@ ixgb_setup_rx_resources(struct ixgb_adapter *adapter)
797 794
798 size = sizeof(struct ixgb_buffer) * rxdr->count; 795 size = sizeof(struct ixgb_buffer) * rxdr->count;
799 rxdr->buffer_info = vzalloc(size); 796 rxdr->buffer_info = vzalloc(size);
800 if (!rxdr->buffer_info) { 797 if (!rxdr->buffer_info)
801 netif_err(adapter, probe, adapter->netdev,
802 "Unable to allocate receive descriptor ring\n");
803 return -ENOMEM; 798 return -ENOMEM;
804 }
805 799
806 /* Round up to nearest 4K */ 800 /* Round up to nearest 4K */
807 801
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
index c116884d7d35..f58db453a97e 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
@@ -716,10 +716,8 @@ int ixgbe_setup_fcoe_ddp_resources(struct ixgbe_adapter *adapter)
716 716
717 /* Extra buffer to be shared by all DDPs for HW work around */ 717 /* Extra buffer to be shared by all DDPs for HW work around */
718 buffer = kmalloc(IXGBE_FCBUFF_MIN, GFP_ATOMIC); 718 buffer = kmalloc(IXGBE_FCBUFF_MIN, GFP_ATOMIC);
719 if (!buffer) { 719 if (!buffer)
720 e_err(drv, "failed to allocate extra DDP buffer\n");
721 return -ENOMEM; 720 return -ENOMEM;
722 }
723 721
724 dma = dma_map_single(dev, buffer, IXGBE_FCBUFF_MIN, DMA_FROM_DEVICE); 722 dma = dma_map_single(dev, buffer, IXGBE_FCBUFF_MIN, DMA_FROM_DEVICE);
725 if (dma_mapping_error(dev, dma)) { 723 if (dma_mapping_error(dev, dma)) {
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
index 8a08c5e71e48..00f25b5f297f 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
@@ -741,7 +741,6 @@ static int add_ip_rule(struct mlx4_en_priv *priv,
741 spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL); 741 spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL);
742 spec_l2 = kzalloc(sizeof(*spec_l2), GFP_KERNEL); 742 spec_l2 = kzalloc(sizeof(*spec_l2), GFP_KERNEL);
743 if (!spec_l2 || !spec_l3) { 743 if (!spec_l2 || !spec_l3) {
744 en_err(priv, "Fail to alloc ethtool rule.\n");
745 err = -ENOMEM; 744 err = -ENOMEM;
746 goto free_spec; 745 goto free_spec;
747 } 746 }
@@ -782,7 +781,6 @@ static int add_tcp_udp_rule(struct mlx4_en_priv *priv,
782 spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL); 781 spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL);
783 spec_l4 = kzalloc(sizeof(*spec_l4), GFP_KERNEL); 782 spec_l4 = kzalloc(sizeof(*spec_l4), GFP_KERNEL);
784 if (!spec_l2 || !spec_l3 || !spec_l4) { 783 if (!spec_l2 || !spec_l3 || !spec_l4) {
785 en_err(priv, "Fail to alloc ethtool rule.\n");
786 err = -ENOMEM; 784 err = -ENOMEM;
787 goto free_spec; 785 goto free_spec;
788 } 786 }
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index c9a191b4c313..937bcc3d3212 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -708,7 +708,6 @@ static void mlx4_en_cache_mclist(struct net_device *dev)
708 netdev_for_each_mc_addr(ha, dev) { 708 netdev_for_each_mc_addr(ha, dev) {
709 tmp = kzalloc(sizeof(struct mlx4_en_mc_list), GFP_ATOMIC); 709 tmp = kzalloc(sizeof(struct mlx4_en_mc_list), GFP_ATOMIC);
710 if (!tmp) { 710 if (!tmp) {
711 en_err(priv, "failed to allocate multicast list\n");
712 mlx4_en_clear_list(dev); 711 mlx4_en_clear_list(dev);
713 return; 712 return;
714 } 713 }
@@ -752,14 +751,12 @@ static void update_mclist_flags(struct mlx4_en_priv *priv,
752 } 751 }
753 } 752 }
754 if (!found) { 753 if (!found) {
755 new_mc = kmalloc(sizeof(struct mlx4_en_mc_list), 754 new_mc = kmemdup(src_tmp,
755 sizeof(struct mlx4_en_mc_list),
756 GFP_KERNEL); 756 GFP_KERNEL);
757 if (!new_mc) { 757 if (!new_mc)
758 en_err(priv, "Failed to allocate current multicast list\n");
759 return; 758 return;
760 } 759
761 memcpy(new_mc, src_tmp,
762 sizeof(struct mlx4_en_mc_list));
763 new_mc->action = MCLIST_ADD; 760 new_mc->action = MCLIST_ADD;
764 list_add_tail(&new_mc->list, dst); 761 list_add_tail(&new_mc->list, dst);
765 } 762 }
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 91bb8e157253..ce38654bbdd0 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -852,11 +852,9 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn,
852 struct mlx4_qp_context *context; 852 struct mlx4_qp_context *context;
853 int err = 0; 853 int err = 0;
854 854
855 context = kmalloc(sizeof *context , GFP_KERNEL); 855 context = kmalloc(sizeof(*context), GFP_KERNEL);
856 if (!context) { 856 if (!context)
857 en_err(priv, "Failed to allocate qp context\n");
858 return -ENOMEM; 857 return -ENOMEM;
859 }
860 858
861 err = mlx4_qp_alloc(mdev->dev, qpn, qp); 859 err = mlx4_qp_alloc(mdev->dev, qpn, qp);
862 if (err) { 860 if (err) {
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index 325627e287fc..b13ab544a7eb 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -2920,14 +2920,11 @@ static int ql_alloc_rx_resources(struct ql_adapter *qdev,
2920 /* 2920 /*
2921 * Allocate small buffer queue control blocks. 2921 * Allocate small buffer queue control blocks.
2922 */ 2922 */
2923 rx_ring->sbq = 2923 rx_ring->sbq = kmalloc_array(rx_ring->sbq_len,
2924 kmalloc(rx_ring->sbq_len * sizeof(struct bq_desc), 2924 sizeof(struct bq_desc),
2925 GFP_KERNEL); 2925 GFP_KERNEL);
2926 if (rx_ring->sbq == NULL) { 2926 if (rx_ring->sbq == NULL)
2927 netif_err(qdev, ifup, qdev->ndev,
2928 "Small buffer queue control block allocation failed.\n");
2929 goto err_mem; 2927 goto err_mem;
2930 }
2931 2928
2932 ql_init_sbq_ring(qdev, rx_ring); 2929 ql_init_sbq_ring(qdev, rx_ring);
2933 } 2930 }
@@ -2948,14 +2945,11 @@ static int ql_alloc_rx_resources(struct ql_adapter *qdev,
2948 /* 2945 /*
2949 * Allocate large buffer queue control blocks. 2946 * Allocate large buffer queue control blocks.
2950 */ 2947 */
2951 rx_ring->lbq = 2948 rx_ring->lbq = kmalloc_array(rx_ring->lbq_len,
2952 kmalloc(rx_ring->lbq_len * sizeof(struct bq_desc), 2949 sizeof(struct bq_desc),
2953 GFP_KERNEL); 2950 GFP_KERNEL);
2954 if (rx_ring->lbq == NULL) { 2951 if (rx_ring->lbq == NULL)
2955 netif_err(qdev, ifup, qdev->ndev,
2956 "Large buffer queue control block allocation failed.\n");
2957 goto err_mem; 2952 goto err_mem;
2958 }
2959 2953
2960 ql_init_lbq_ring(qdev, rx_ring); 2954 ql_init_lbq_ring(qdev, rx_ring);
2961 } 2955 }
diff --git a/drivers/net/ethernet/smsc/smsc9420.c b/drivers/net/ethernet/smsc/smsc9420.c
index ecfb43614d7b..d457fa2d7509 100644
--- a/drivers/net/ethernet/smsc/smsc9420.c
+++ b/drivers/net/ethernet/smsc/smsc9420.c
@@ -1250,12 +1250,11 @@ static int smsc9420_alloc_tx_ring(struct smsc9420_pdata *pd)
1250 1250
1251 BUG_ON(!pd->tx_ring); 1251 BUG_ON(!pd->tx_ring);
1252 1252
1253 pd->tx_buffers = kmalloc((sizeof(struct smsc9420_ring_info) * 1253 pd->tx_buffers = kmalloc_array(TX_RING_SIZE,
1254 TX_RING_SIZE), GFP_KERNEL); 1254 sizeof(struct smsc9420_ring_info),
1255 if (!pd->tx_buffers) { 1255 GFP_KERNEL);
1256 smsc_warn(IFUP, "Failed to allocated tx_buffers"); 1256 if (!pd->tx_buffers)
1257 return -ENOMEM; 1257 return -ENOMEM;
1258 }
1259 1258
1260 /* Initialize the TX Ring */ 1259 /* Initialize the TX Ring */
1261 for (i = 0; i < TX_RING_SIZE; i++) { 1260 for (i = 0; i < TX_RING_SIZE; i++) {
diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
index 8ee5ab0db127..73051d10ead2 100644
--- a/drivers/net/usb/pegasus.c
+++ b/drivers/net/usb/pegasus.c
@@ -149,11 +149,9 @@ static int get_registers(pegasus_t *pegasus, __u16 indx, __u16 size,
149 DECLARE_WAITQUEUE(wait, current); 149 DECLARE_WAITQUEUE(wait, current);
150 150
151 buffer = kmalloc(size, GFP_KERNEL); 151 buffer = kmalloc(size, GFP_KERNEL);
152 if (!buffer) { 152 if (!buffer)
153 netif_warn(pegasus, drv, pegasus->net,
154 "out of memory in %s\n", __func__);
155 return -ENOMEM; 153 return -ENOMEM;
156 } 154
157 add_wait_queue(&pegasus->ctrl_wait, &wait); 155 add_wait_queue(&pegasus->ctrl_wait, &wait);
158 set_current_state(TASK_UNINTERRUPTIBLE); 156 set_current_state(TASK_UNINTERRUPTIBLE);
159 while (pegasus->flags & ETH_REGS_CHANGED) 157 while (pegasus->flags & ETH_REGS_CHANGED)
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index b6a5a08810b8..3ad1fd05c5e7 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -1196,20 +1196,17 @@ void ath9k_rx_cleanup(struct ath9k_htc_priv *priv)
1196 1196
1197int ath9k_rx_init(struct ath9k_htc_priv *priv) 1197int ath9k_rx_init(struct ath9k_htc_priv *priv)
1198{ 1198{
1199 struct ath_hw *ah = priv->ah;
1200 struct ath_common *common = ath9k_hw_common(ah);
1201 struct ath9k_htc_rxbuf *rxbuf;
1202 int i = 0; 1199 int i = 0;
1203 1200
1204 INIT_LIST_HEAD(&priv->rx.rxbuf); 1201 INIT_LIST_HEAD(&priv->rx.rxbuf);
1205 spin_lock_init(&priv->rx.rxbuflock); 1202 spin_lock_init(&priv->rx.rxbuflock);
1206 1203
1207 for (i = 0; i < ATH9K_HTC_RXBUF; i++) { 1204 for (i = 0; i < ATH9K_HTC_RXBUF; i++) {
1208 rxbuf = kzalloc(sizeof(struct ath9k_htc_rxbuf), GFP_KERNEL); 1205 struct ath9k_htc_rxbuf *rxbuf =
1209 if (rxbuf == NULL) { 1206 kzalloc(sizeof(struct ath9k_htc_rxbuf), GFP_KERNEL);
1210 ath_err(common, "Unable to allocate RX buffers\n"); 1207 if (rxbuf == NULL)
1211 goto err; 1208 goto err;
1212 } 1209
1213 list_add_tail(&rxbuf->list, &priv->rx.rxbuf); 1210 list_add_tail(&rxbuf->list, &priv->rx.rxbuf);
1214 } 1211 }
1215 1212
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 42cf3c7f1e25..2a2ae403e0e5 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2981,13 +2981,8 @@ struct ath_gen_timer *ath_gen_timer_alloc(struct ath_hw *ah,
2981 struct ath_gen_timer *timer; 2981 struct ath_gen_timer *timer;
2982 2982
2983 timer = kzalloc(sizeof(struct ath_gen_timer), GFP_KERNEL); 2983 timer = kzalloc(sizeof(struct ath_gen_timer), GFP_KERNEL);
2984 2984 if (timer == NULL)
2985 if (timer == NULL) {
2986 ath_err(ath9k_hw_common(ah),
2987 "Failed to allocate memory for hw timer[%d]\n",
2988 timer_index);
2989 return NULL; 2985 return NULL;
2990 }
2991 2986
2992 /* allocate a hardware generic timer slot */ 2987 /* allocate a hardware generic timer slot */
2993 timer_table->timers[timer_index] = timer; 2988 timer_table->timers[timer_index] = timer;
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 714558d1ba78..faa752b95d5a 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -1452,17 +1452,7 @@ static void ath_rate_free(void *priv)
1452 1452
1453static void *ath_rate_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp) 1453static void *ath_rate_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp)
1454{ 1454{
1455 struct ath_softc *sc = priv; 1455 return kzalloc(sizeof(struct ath_rate_priv), gfp);
1456 struct ath_rate_priv *rate_priv;
1457
1458 rate_priv = kzalloc(sizeof(struct ath_rate_priv), gfp);
1459 if (!rate_priv) {
1460 ath_err(ath9k_hw_common(sc->sc_ah),
1461 "Unable to allocate private rc structure\n");
1462 return NULL;
1463 }
1464
1465 return rate_priv;
1466} 1456}
1467 1457
1468static void ath_rate_free_sta(void *priv, struct ieee80211_sta *sta, 1458static void ath_rate_free_sta(void *priv, struct ieee80211_sta *sta,
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c
index 64b971fdc3cc..d1315b442375 100644
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -74,8 +74,6 @@ static int wil_vring_alloc(struct wil6210_priv *wil, struct vring *vring)
74 vring->swtail = 0; 74 vring->swtail = 0;
75 vring->ctx = kzalloc(vring->size * sizeof(vring->ctx[0]), GFP_KERNEL); 75 vring->ctx = kzalloc(vring->size * sizeof(vring->ctx[0]), GFP_KERNEL);
76 if (!vring->ctx) { 76 if (!vring->ctx) {
77 wil_err(wil, "vring_alloc [%d] failed to alloc ctx mem\n",
78 vring->size);
79 vring->va = NULL; 77 vring->va = NULL;
80 return -ENOMEM; 78 return -ENOMEM;
81 } 79 }
diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c
index 0b70e17cd1fb..c8aca3d50089 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.c
+++ b/drivers/net/wireless/ath/wil6210/wmi.c
@@ -587,11 +587,9 @@ void wmi_recv_cmd(struct wil6210_priv *wil)
587 evt = kmalloc(ALIGN(offsetof(struct pending_wmi_event, 587 evt = kmalloc(ALIGN(offsetof(struct pending_wmi_event,
588 event.wmi) + len, 4), 588 event.wmi) + len, 4),
589 GFP_KERNEL); 589 GFP_KERNEL);
590 if (!evt) { 590 if (!evt)
591 wil_err(wil, "kmalloc for WMI event (%d) failed\n",
592 len);
593 return; 591 return;
594 } 592
595 evt->event.hdr = hdr; 593 evt->event.hdr = hdr;
596 cmd = (void *)&evt->event.wmi; 594 cmd = (void *)&evt->event.wmi;
597 wil_memcpy_fromio_32(cmd, src, len); 595 wil_memcpy_fromio_32(cmd, src, len);
@@ -838,10 +836,8 @@ int wmi_set_ie(struct wil6210_priv *wil, u8 type, u16 ie_len, const void *ie)
838 int rc; 836 int rc;
839 u16 len = sizeof(struct wmi_set_appie_cmd) + ie_len; 837 u16 len = sizeof(struct wmi_set_appie_cmd) + ie_len;
840 struct wmi_set_appie_cmd *cmd = kzalloc(len, GFP_KERNEL); 838 struct wmi_set_appie_cmd *cmd = kzalloc(len, GFP_KERNEL);
841 if (!cmd) { 839 if (!cmd)
842 wil_err(wil, "kmalloc(%d) failed\n", len);
843 return -ENOMEM; 840 return -ENOMEM;
844 }
845 841
846 cmd->mgmt_frm_type = type; 842 cmd->mgmt_frm_type = type;
847 /* BUG: FW API define ieLen as u8. Will fix FW */ 843 /* BUG: FW API define ieLen as u8. Will fix FW */
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
index 7fef9b5ba003..6d786a281f1e 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
@@ -1445,10 +1445,9 @@ brcmf_sdbrcm_read_control(struct brcmf_sdio *bus, u8 *hdr, uint len, uint doff)
1445 1445
1446 if (bus->rxblen) 1446 if (bus->rxblen)
1447 buf = vzalloc(bus->rxblen); 1447 buf = vzalloc(bus->rxblen);
1448 if (!buf) { 1448 if (!buf)
1449 brcmf_err("no memory for control frame\n");
1450 goto done; 1449 goto done;
1451 } 1450
1452 rbuf = bus->rxbuf; 1451 rbuf = bus->rxbuf;
1453 pad = ((unsigned long)rbuf % BRCMF_SDALIGN); 1452 pad = ((unsigned long)rbuf % BRCMF_SDALIGN);
1454 if (pad) 1453 if (pad)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
index e15630cc3889..bc5a042c9a96 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
@@ -354,11 +354,10 @@ brcmf_usbdev_qinit(struct list_head *q, int qsize)
354 int i; 354 int i;
355 struct brcmf_usbreq *req, *reqs; 355 struct brcmf_usbreq *req, *reqs;
356 356
357 reqs = kzalloc(sizeof(struct brcmf_usbreq) * qsize, GFP_ATOMIC); 357 reqs = kcalloc(qsize, sizeof(struct brcmf_usbreq), GFP_ATOMIC);
358 if (reqs == NULL) { 358 if (reqs == NULL)
359 brcmf_err("fail to allocate memory!\n");
360 return NULL; 359 return NULL;
361 } 360
362 req = reqs; 361 req = reqs;
363 362
364 for (i = 0; i < qsize; i++) { 363 for (i = 0; i < qsize; i++) {
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index 2031130d860b..a79c9167117a 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -1149,7 +1149,6 @@ static int mwl8k_rxq_init(struct ieee80211_hw *hw, int index)
1149 1149
1150 rxq->buf = kcalloc(MWL8K_RX_DESCS, sizeof(*rxq->buf), GFP_KERNEL); 1150 rxq->buf = kcalloc(MWL8K_RX_DESCS, sizeof(*rxq->buf), GFP_KERNEL);
1151 if (rxq->buf == NULL) { 1151 if (rxq->buf == NULL) {
1152 wiphy_err(hw->wiphy, "failed to alloc RX skbuff list\n");
1153 pci_free_consistent(priv->pdev, size, rxq->rxd, rxq->rxd_dma); 1152 pci_free_consistent(priv->pdev, size, rxq->rxd, rxq->rxd_dma);
1154 return -ENOMEM; 1153 return -ENOMEM;
1155 } 1154 }
@@ -1442,7 +1441,6 @@ static int mwl8k_txq_init(struct ieee80211_hw *hw, int index)
1442 1441
1443 txq->skb = kcalloc(MWL8K_TX_DESCS, sizeof(*txq->skb), GFP_KERNEL); 1442 txq->skb = kcalloc(MWL8K_TX_DESCS, sizeof(*txq->skb), GFP_KERNEL);
1444 if (txq->skb == NULL) { 1443 if (txq->skb == NULL) {
1445 wiphy_err(hw->wiphy, "failed to alloc TX skbuff list\n");
1446 pci_free_consistent(priv->pdev, size, txq->txd, txq->txd_dma); 1444 pci_free_consistent(priv->pdev, size, txq->txd, txq->txd_dma);
1447 return -ENOMEM; 1445 return -ENOMEM;
1448 } 1446 }