aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h4
-rw-r--r--drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h4
-rw-r--r--drivers/staging/comedi/drivers/icp_multi.h3
-rw-r--r--drivers/staging/dream/pmem.c5
-rw-r--r--drivers/staging/go7007/go7007-fw.c12
-rw-r--r--drivers/staging/go7007/go7007-usb.c3
-rw-r--r--drivers/staging/go7007/go7007-v4l2.c4
-rw-r--r--drivers/staging/go7007/saa7134-go7007.c3
-rw-r--r--drivers/staging/otus/zdusb.c5
-rw-r--r--drivers/staging/panel/panel.c3
-rw-r--r--drivers/staging/pohmelfs/config.c3
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c6
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c3
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c3
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c3
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_module.c7
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c6
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c3
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c3
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c3
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_module.c7
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c3
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_crypt.c6
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_ccmp.c3
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_tkip.c3
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_wep.c3
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_module.c7
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c3
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192u/ieee80211/api.c4
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c6
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c3
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c3
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c3
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_module.c7
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c3
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192u/r8192U_core.c4
-rw-r--r--drivers/staging/sm7xx/smtcfb.c4
-rw-r--r--drivers/staging/vme/bridges/vme_ca91cx42.c8
-rw-r--r--drivers/staging/vme/bridges/vme_tsi148.c8
-rw-r--r--drivers/staging/vt6655/hostap.c3
-rw-r--r--drivers/staging/vt6655/wpactl.c3
-rw-r--r--drivers/staging/vt6656/hostap.c3
-rw-r--r--drivers/staging/vt6656/wpactl.c3
-rw-r--r--drivers/staging/wlan-ng/p80211conv.c3
-rw-r--r--drivers/staging/wlan-ng/prism2fw.c3
49 files changed, 62 insertions, 142 deletions
diff --git a/drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h b/drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h
index 3682503e341..c3284eb0f0a 100644
--- a/drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h
+++ b/drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h
@@ -260,12 +260,10 @@ void v_pci_card_list_init(unsigned short pci_vendor, char display)
260 for (i_Count = 0; i_Count < 2; i_Count++) { 260 for (i_Count = 0; i_Count < 2; i_Count++) {
261 pci_vendor = i_ADDIDATADeviceID[i_Count]; 261 pci_vendor = i_ADDIDATADeviceID[i_Count];
262 if (pcidev->vendor == pci_vendor) { 262 if (pcidev->vendor == pci_vendor) {
263 amcc = kmalloc(sizeof(*amcc), GFP_KERNEL); 263 amcc = kzalloc(sizeof(*amcc), GFP_KERNEL);
264 if (amcc == NULL) 264 if (amcc == NULL)
265 continue; 265 continue;
266 266
267 memset(amcc, 0, sizeof(*amcc));
268
269 amcc->pcidev = pcidev; 267 amcc->pcidev = pcidev;
270 if (last) 268 if (last)
271 last->next = amcc; 269 last->next = amcc;
diff --git a/drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h b/drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h
index 49141b3558e..349e93c23e9 100644
--- a/drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h
+++ b/drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h
@@ -253,12 +253,10 @@ void v_pci_card_list_init(unsigned short pci_vendor, char display)
253 253
254 pci_for_each_dev(pcidev) { 254 pci_for_each_dev(pcidev) {
255 if (pcidev->vendor == pci_vendor) { 255 if (pcidev->vendor == pci_vendor) {
256 amcc = kmalloc(sizeof(*amcc), GFP_KERNEL); 256 amcc = kzalloc(sizeof(*amcc), GFP_KERNEL);
257 if (amcc == NULL) 257 if (amcc == NULL)
258 continue; 258 continue;
259 259
260 memset(amcc, 0, sizeof(*amcc));
261
262 amcc->pcidev = pcidev; 260 amcc->pcidev = pcidev;
263 if (last) { 261 if (last) {
264 last->next = amcc; 262 last->next = amcc;
diff --git a/drivers/staging/comedi/drivers/icp_multi.h b/drivers/staging/comedi/drivers/icp_multi.h
index 8caadc630ed..2bb96b1d21e 100644
--- a/drivers/staging/comedi/drivers/icp_multi.h
+++ b/drivers/staging/comedi/drivers/icp_multi.h
@@ -73,14 +73,13 @@ static void pci_card_list_init(unsigned short pci_vendor, char display)
73 pcidev != NULL; 73 pcidev != NULL;
74 pcidev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pcidev)) { 74 pcidev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pcidev)) {
75 if (pcidev->vendor == pci_vendor) { 75 if (pcidev->vendor == pci_vendor) {
76 inova = kmalloc(sizeof(*inova), GFP_KERNEL); 76 inova = kzalloc(sizeof(*inova), GFP_KERNEL);
77 if (!inova) { 77 if (!inova) {
78 printk 78 printk
79 ("icp_multi: pci_card_list_init: allocation failed\n"); 79 ("icp_multi: pci_card_list_init: allocation failed\n");
80 pci_dev_put(pcidev); 80 pci_dev_put(pcidev);
81 break; 81 break;
82 } 82 }
83 memset(inova, 0, sizeof(*inova));
84 83
85 inova->pcidev = pci_dev_get(pcidev); 84 inova->pcidev = pci_dev_get(pcidev);
86 if (last) { 85 if (last) {
diff --git a/drivers/staging/dream/pmem.c b/drivers/staging/dream/pmem.c
index dbd2b1d14c4..6387365a833 100644
--- a/drivers/staging/dream/pmem.c
+++ b/drivers/staging/dream/pmem.c
@@ -1245,14 +1245,11 @@ int pmem_setup(struct android_pmem_platform_data *pdata,
1245 } 1245 }
1246 pmem[id].num_entries = pmem[id].size / PMEM_MIN_ALLOC; 1246 pmem[id].num_entries = pmem[id].size / PMEM_MIN_ALLOC;
1247 1247
1248 pmem[id].bitmap = kmalloc(pmem[id].num_entries * 1248 pmem[id].bitmap = kcalloc(pmem[id].num_entries,
1249 sizeof(struct pmem_bits), GFP_KERNEL); 1249 sizeof(struct pmem_bits), GFP_KERNEL);
1250 if (!pmem[id].bitmap) 1250 if (!pmem[id].bitmap)
1251 goto err_no_mem_for_metadata; 1251 goto err_no_mem_for_metadata;
1252 1252
1253 memset(pmem[id].bitmap, 0, sizeof(struct pmem_bits) *
1254 pmem[id].num_entries);
1255
1256 for (i = sizeof(pmem[id].num_entries) * 8 - 1; i >= 0; i--) { 1253 for (i = sizeof(pmem[id].num_entries) * 8 - 1; i >= 0; i--) {
1257 if ((pmem[id].num_entries) & 1<<i) { 1254 if ((pmem[id].num_entries) & 1<<i) {
1258 PMEM_ORDER(id, index) = i; 1255 PMEM_ORDER(id, index) = i;
diff --git a/drivers/staging/go7007/go7007-fw.c b/drivers/staging/go7007/go7007-fw.c
index ee622ff1707..c9a6409edfe 100644
--- a/drivers/staging/go7007/go7007-fw.c
+++ b/drivers/staging/go7007/go7007-fw.c
@@ -380,13 +380,12 @@ static int gen_mjpeghdr_to_package(struct go7007 *go, __le16 *code, int space)
380 unsigned int addr = 0x19; 380 unsigned int addr = 0x19;
381 int size = 0, i, off = 0, chunk; 381 int size = 0, i, off = 0, chunk;
382 382
383 buf = kmalloc(4096, GFP_KERNEL); 383 buf = kzalloc(4096, GFP_KERNEL);
384 if (buf == NULL) { 384 if (buf == NULL) {
385 printk(KERN_ERR "go7007: unable to allocate 4096 bytes for " 385 printk(KERN_ERR "go7007: unable to allocate 4096 bytes for "
386 "firmware construction\n"); 386 "firmware construction\n");
387 return -1; 387 return -1;
388 } 388 }
389 memset(buf, 0, 4096);
390 389
391 for (i = 1; i < 32; ++i) { 390 for (i = 1; i < 32; ++i) {
392 mjpeg_frame_header(go, buf + size, i); 391 mjpeg_frame_header(go, buf + size, i);
@@ -651,13 +650,12 @@ static int gen_mpeg1hdr_to_package(struct go7007 *go,
651 unsigned int addr = 0x19; 650 unsigned int addr = 0x19;
652 int i, off = 0, chunk; 651 int i, off = 0, chunk;
653 652
654 buf = kmalloc(5120, GFP_KERNEL); 653 buf = kzalloc(5120, GFP_KERNEL);
655 if (buf == NULL) { 654 if (buf == NULL) {
656 printk(KERN_ERR "go7007: unable to allocate 5120 bytes for " 655 printk(KERN_ERR "go7007: unable to allocate 5120 bytes for "
657 "firmware construction\n"); 656 "firmware construction\n");
658 return -1; 657 return -1;
659 } 658 }
660 memset(buf, 0, 5120);
661 framelen[0] = mpeg1_frame_header(go, buf, 0, 1, PFRAME); 659 framelen[0] = mpeg1_frame_header(go, buf, 0, 1, PFRAME);
662 if (go->interlace_coding) 660 if (go->interlace_coding)
663 framelen[0] += mpeg1_frame_header(go, buf + framelen[0] / 8, 661 framelen[0] += mpeg1_frame_header(go, buf + framelen[0] / 8,
@@ -839,13 +837,12 @@ static int gen_mpeg4hdr_to_package(struct go7007 *go,
839 unsigned int addr = 0x19; 837 unsigned int addr = 0x19;
840 int i, off = 0, chunk; 838 int i, off = 0, chunk;
841 839
842 buf = kmalloc(5120, GFP_KERNEL); 840 buf = kzalloc(5120, GFP_KERNEL);
843 if (buf == NULL) { 841 if (buf == NULL) {
844 printk(KERN_ERR "go7007: unable to allocate 5120 bytes for " 842 printk(KERN_ERR "go7007: unable to allocate 5120 bytes for "
845 "firmware construction\n"); 843 "firmware construction\n");
846 return -1; 844 return -1;
847 } 845 }
848 memset(buf, 0, 5120);
849 framelen[0] = mpeg4_frame_header(go, buf, 0, PFRAME); 846 framelen[0] = mpeg4_frame_header(go, buf, 0, PFRAME);
850 i = 368; 847 i = 368;
851 framelen[1] = mpeg4_frame_header(go, buf + i, 0, BFRAME_PRE); 848 framelen[1] = mpeg4_frame_header(go, buf + i, 0, BFRAME_PRE);
@@ -1585,13 +1582,12 @@ int go7007_construct_fw_image(struct go7007 *go, u8 **fw, int *fwlen)
1585 go->board_info->firmware); 1582 go->board_info->firmware);
1586 return -1; 1583 return -1;
1587 } 1584 }
1588 code = kmalloc(codespace * 2, GFP_KERNEL); 1585 code = kzalloc(codespace * 2, GFP_KERNEL);
1589 if (code == NULL) { 1586 if (code == NULL) {
1590 printk(KERN_ERR "go7007: unable to allocate %d bytes for " 1587 printk(KERN_ERR "go7007: unable to allocate %d bytes for "
1591 "firmware construction\n", codespace * 2); 1588 "firmware construction\n", codespace * 2);
1592 goto fw_failed; 1589 goto fw_failed;
1593 } 1590 }
1594 memset(code, 0, codespace * 2);
1595 src = (__le16 *)fw_entry->data; 1591 src = (__le16 *)fw_entry->data;
1596 srclen = fw_entry->size / 2; 1592 srclen = fw_entry->size / 2;
1597 while (srclen >= 2) { 1593 while (srclen >= 2) {
diff --git a/drivers/staging/go7007/go7007-usb.c b/drivers/staging/go7007/go7007-usb.c
index ee278f64a16..20ed930b588 100644
--- a/drivers/staging/go7007/go7007-usb.c
+++ b/drivers/staging/go7007/go7007-usb.c
@@ -670,10 +670,9 @@ static int go7007_usb_onboard_write_interrupt(struct go7007 *go,
670 "go7007-usb: WriteInterrupt: %04x %04x\n", addr, data); 670 "go7007-usb: WriteInterrupt: %04x %04x\n", addr, data);
671#endif 671#endif
672 672
673 tbuf = kmalloc(8, GFP_KERNEL); 673 tbuf = kzalloc(8, GFP_KERNEL);
674 if (tbuf == NULL) 674 if (tbuf == NULL)
675 return -ENOMEM; 675 return -ENOMEM;
676 memset(tbuf, 0, 8);
677 tbuf[0] = data & 0xff; 676 tbuf[0] = data & 0xff;
678 tbuf[1] = data >> 8; 677 tbuf[1] = data >> 8;
679 tbuf[2] = addr & 0xff; 678 tbuf[2] = addr & 0xff;
diff --git a/drivers/staging/go7007/go7007-v4l2.c b/drivers/staging/go7007/go7007-v4l2.c
index 723c1a64d87..46b4b9f6855 100644
--- a/drivers/staging/go7007/go7007-v4l2.c
+++ b/drivers/staging/go7007/go7007-v4l2.c
@@ -720,7 +720,7 @@ static int vidioc_reqbufs(struct file *file, void *priv,
720 if (count > 32) 720 if (count > 32)
721 count = 32; 721 count = 32;
722 722
723 gofh->bufs = kmalloc(count * sizeof(struct go7007_buffer), 723 gofh->bufs = kcalloc(count, sizeof(struct go7007_buffer),
724 GFP_KERNEL); 724 GFP_KERNEL);
725 725
726 if (!gofh->bufs) { 726 if (!gofh->bufs) {
@@ -728,8 +728,6 @@ static int vidioc_reqbufs(struct file *file, void *priv,
728 goto unlock_and_return; 728 goto unlock_and_return;
729 } 729 }
730 730
731 memset(gofh->bufs, 0, count * sizeof(struct go7007_buffer));
732
733 for (i = 0; i < count; ++i) { 731 for (i = 0; i < count; ++i) {
734 gofh->bufs[i].go = go; 732 gofh->bufs[i].go = go;
735 gofh->bufs[i].index = i; 733 gofh->bufs[i].index = i;
diff --git a/drivers/staging/go7007/saa7134-go7007.c b/drivers/staging/go7007/saa7134-go7007.c
index b25d7d2090e..49f0d31c118 100644
--- a/drivers/staging/go7007/saa7134-go7007.c
+++ b/drivers/staging/go7007/saa7134-go7007.c
@@ -440,10 +440,9 @@ static int saa7134_go7007_init(struct saa7134_dev *dev)
440 440
441 printk(KERN_DEBUG "saa7134-go7007: probing new SAA713X board\n"); 441 printk(KERN_DEBUG "saa7134-go7007: probing new SAA713X board\n");
442 442
443 saa = kmalloc(sizeof(struct saa7134_go7007), GFP_KERNEL); 443 saa = kzalloc(sizeof(struct saa7134_go7007), GFP_KERNEL);
444 if (saa == NULL) 444 if (saa == NULL)
445 return -ENOMEM; 445 return -ENOMEM;
446 memset(saa, 0, sizeof(struct saa7134_go7007));
447 446
448 /* Allocate a couple pages for receiving the compressed stream */ 447 /* Allocate a couple pages for receiving the compressed stream */
449 saa->top = (u8 *)get_zeroed_page(GFP_KERNEL); 448 saa->top = (u8 *)get_zeroed_page(GFP_KERNEL);
diff --git a/drivers/staging/otus/zdusb.c b/drivers/staging/otus/zdusb.c
index 6509bc565e6..2c799a25029 100644
--- a/drivers/staging/otus/zdusb.c
+++ b/drivers/staging/otus/zdusb.c
@@ -95,7 +95,7 @@ static int zfLnxProbe(struct usb_interface *interface,
95 printk(KERN_NOTICE "USB 1.1 Host\n"); 95 printk(KERN_NOTICE "USB 1.1 Host\n");
96#endif 96#endif
97 97
98 macp = kmalloc(sizeof(struct usbdrv_private), GFP_KERNEL); 98 macp = kzalloc(sizeof(struct usbdrv_private), GFP_KERNEL);
99 if (!macp) 99 if (!macp)
100 { 100 {
101 printk(KERN_ERR "out of memory allocating device structure\n"); 101 printk(KERN_ERR "out of memory allocating device structure\n");
@@ -103,9 +103,6 @@ static int zfLnxProbe(struct usb_interface *interface,
103 goto fail; 103 goto fail;
104 } 104 }
105 105
106 /* Zero the memory */
107 memset(macp, 0, sizeof(struct usbdrv_private));
108
109 net = alloc_etherdev(0); 106 net = alloc_etherdev(0);
110 107
111 if (net == NULL) 108 if (net == NULL)
diff --git a/drivers/staging/panel/panel.c b/drivers/staging/panel/panel.c
index f9fcb2fef5a..9ca0e9e2a96 100644
--- a/drivers/staging/panel/panel.c
+++ b/drivers/staging/panel/panel.c
@@ -1906,12 +1906,11 @@ static struct logical_input *panel_bind_key(char *name, char *press,
1906{ 1906{
1907 struct logical_input *key; 1907 struct logical_input *key;
1908 1908
1909 key = kmalloc(sizeof(struct logical_input), GFP_KERNEL); 1909 key = kzalloc(sizeof(struct logical_input), GFP_KERNEL);
1910 if (!key) { 1910 if (!key) {
1911 printk(KERN_ERR "panel: not enough memory\n"); 1911 printk(KERN_ERR "panel: not enough memory\n");
1912 return NULL; 1912 return NULL;
1913 } 1913 }
1914 memset(key, 0, sizeof(struct logical_input));
1915 if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i, 1914 if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
1916 &scan_mask_o)) 1915 &scan_mask_o))
1917 return NULL; 1916 return NULL;
diff --git a/drivers/staging/pohmelfs/config.c b/drivers/staging/pohmelfs/config.c
index 6571a6ae05a..9fdf2de347e 100644
--- a/drivers/staging/pohmelfs/config.c
+++ b/drivers/staging/pohmelfs/config.c
@@ -238,11 +238,10 @@ static int pohmelfs_send_reply(int err, int msg_num, int action, struct cn_msg *
238{ 238{
239 struct pohmelfs_cn_ack *ack; 239 struct pohmelfs_cn_ack *ack;
240 240
241 ack = kmalloc(sizeof(struct pohmelfs_cn_ack), GFP_KERNEL); 241 ack = kzalloc(sizeof(struct pohmelfs_cn_ack), GFP_KERNEL);
242 if (!ack) 242 if (!ack)
243 return -ENOMEM; 243 return -ENOMEM;
244 244
245 memset(ack, 0, sizeof(struct pohmelfs_cn_ack));
246 memcpy(&ack->msg, msg, sizeof(struct cn_msg)); 245 memcpy(&ack->msg, msg, sizeof(struct cn_msg));
247 246
248 if (action == POHMELFS_CTLINFO_ACK) 247 if (action == POHMELFS_CTLINFO_ACK)
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
index 4c5d63fd583..c8dbcb92591 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
109 if (hcrypt == NULL) 109 if (hcrypt == NULL)
110 return -1; 110 return -1;
111 111
112 alg = kmalloc(sizeof(*alg), GFP_KERNEL); 112 alg = kzalloc(sizeof(*alg), GFP_KERNEL);
113 if (alg == NULL) 113 if (alg == NULL)
114 return -ENOMEM; 114 return -ENOMEM;
115 115
116 memset(alg, 0, sizeof(*alg));
117 alg->ops = ops; 116 alg->ops = ops;
118 117
119 spin_lock_irqsave(&hcrypt->lock, flags); 118 spin_lock_irqsave(&hcrypt->lock, flags);
@@ -207,11 +206,10 @@ int ieee80211_crypto_init(void)
207{ 206{
208 int ret = -ENOMEM; 207 int ret = -ENOMEM;
209 208
210 hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL); 209 hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
211 if (!hcrypt) 210 if (!hcrypt)
212 goto out; 211 goto out;
213 212
214 memset(hcrypt, 0, sizeof(*hcrypt));
215 INIT_LIST_HEAD(&hcrypt->algs); 213 INIT_LIST_HEAD(&hcrypt->algs);
216 spin_lock_init(&hcrypt->lock); 214 spin_lock_init(&hcrypt->lock);
217 215
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
index 40f1b99faad..731d2686411 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
@@ -69,10 +69,9 @@ static void * ieee80211_ccmp_init(int key_idx)
69{ 69{
70 struct ieee80211_ccmp_data *priv; 70 struct ieee80211_ccmp_data *priv;
71 71
72 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 72 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
73 if (priv == NULL) 73 if (priv == NULL)
74 goto fail; 74 goto fail;
75 memset(priv, 0, sizeof(*priv));
76 priv->key_idx = key_idx; 75 priv->key_idx = key_idx;
77 76
78 priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC); 77 priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
index a5254111d9a..ee71ee90fd8 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
@@ -70,10 +70,9 @@ static void * ieee80211_tkip_init(int key_idx)
70{ 70{
71 struct ieee80211_tkip_data *priv; 71 struct ieee80211_tkip_data *priv;
72 72
73 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 73 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
74 if (priv == NULL) 74 if (priv == NULL)
75 goto fail; 75 goto fail;
76 memset(priv, 0, sizeof(*priv));
77 priv->key_idx = key_idx; 76 priv->key_idx = key_idx;
78 77
79 priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0, 78 priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0,
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
index c6c3bc38459..f790cd65f10 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
@@ -45,10 +45,9 @@ static void * prism2_wep_init(int keyidx)
45{ 45{
46 struct prism2_wep_data *priv; 46 struct prism2_wep_data *priv;
47 47
48 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 48 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
49 if (priv == NULL) 49 if (priv == NULL)
50 goto fail; 50 goto fail;
51 memset(priv, 0, sizeof(*priv));
52 priv->key_idx = keyidx; 51 priv->key_idx = keyidx;
53 priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC); 52 priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
54 if (IS_ERR(priv->tx_tfm)) { 53 if (IS_ERR(priv->tx_tfm)) {
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
index 18392fce487..9d58a429c56 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
@@ -66,8 +66,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
66 if (ieee->networks) 66 if (ieee->networks)
67 return 0; 67 return 0;
68 68
69 ieee->networks = kmalloc( 69 ieee->networks = kcalloc(
70 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network), 70 MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
71 GFP_KERNEL); 71 GFP_KERNEL);
72 if (!ieee->networks) { 72 if (!ieee->networks) {
73 printk(KERN_WARNING "%s: Out of memory allocating beacons\n", 73 printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -75,9 +75,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
75 return -ENOMEM; 75 return -ENOMEM;
76 } 76 }
77 77
78 memset(ieee->networks, 0,
79 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
80
81 return 0; 78 return 0;
82} 79}
83 80
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
index c5b80f9c32c..aa3ba450ece 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
@@ -325,11 +325,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
325 struct ieee80211_crypt_data *new_crypt; 325 struct ieee80211_crypt_data *new_crypt;
326 326
327 /* take WEP into use */ 327 /* take WEP into use */
328 new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data), 328 new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
329 GFP_KERNEL); 329 GFP_KERNEL);
330 if (new_crypt == NULL) 330 if (new_crypt == NULL)
331 return -ENOMEM; 331 return -ENOMEM;
332 memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
333 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 332 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
334 if (!new_crypt->ops) 333 if (!new_crypt->ops)
335 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 334 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
index b3c9bf4b4ea..d5aa9af3d9f 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
109 if (hcrypt == NULL) 109 if (hcrypt == NULL)
110 return -1; 110 return -1;
111 111
112 alg = kmalloc(sizeof(*alg), GFP_KERNEL); 112 alg = kzalloc(sizeof(*alg), GFP_KERNEL);
113 if (alg == NULL) 113 if (alg == NULL)
114 return -ENOMEM; 114 return -ENOMEM;
115 115
116 memset(alg, 0, sizeof(*alg));
117 alg->ops = ops; 116 alg->ops = ops;
118 117
119 spin_lock_irqsave(&hcrypt->lock, flags); 118 spin_lock_irqsave(&hcrypt->lock, flags);
@@ -207,11 +206,10 @@ int __init ieee80211_crypto_init(void)
207{ 206{
208 int ret = -ENOMEM; 207 int ret = -ENOMEM;
209 208
210 hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL); 209 hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
211 if (!hcrypt) 210 if (!hcrypt)
212 goto out; 211 goto out;
213 212
214 memset(hcrypt, 0, sizeof(*hcrypt));
215 INIT_LIST_HEAD(&hcrypt->algs); 213 INIT_LIST_HEAD(&hcrypt->algs);
216 spin_lock_init(&hcrypt->lock); 214 spin_lock_init(&hcrypt->lock);
217 215
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
index 1776f7e69bf..7165c4c75c7 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
@@ -96,10 +96,9 @@ static void * ieee80211_ccmp_init(int key_idx)
96{ 96{
97 struct ieee80211_ccmp_data *priv; 97 struct ieee80211_ccmp_data *priv;
98 98
99 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 99 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
100 if (priv == NULL) 100 if (priv == NULL)
101 goto fail; 101 goto fail;
102 memset(priv, 0, sizeof(*priv));
103 priv->key_idx = key_idx; 102 priv->key_idx = key_idx;
104 103
105#if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED)) 104#if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED))
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
index 03cb21eb065..65f48896bfa 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
@@ -87,10 +87,9 @@ static void * ieee80211_tkip_init(int key_idx)
87{ 87{
88 struct ieee80211_tkip_data *priv; 88 struct ieee80211_tkip_data *priv;
89 89
90 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 90 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
91 if (priv == NULL) 91 if (priv == NULL)
92 goto fail; 92 goto fail;
93 memset(priv, 0, sizeof(*priv));
94 priv->key_idx = key_idx; 93 priv->key_idx = key_idx;
95#if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED)) 94#if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED))
96 priv->tx_tfm_arc4 = crypto_alloc_tfm("arc4", 0); 95 priv->tx_tfm_arc4 = crypto_alloc_tfm("arc4", 0);
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
index 5678313e30a..c4bbc8ddbad 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
@@ -71,10 +71,9 @@ static void * prism2_wep_init(int keyidx)
71{ 71{
72 struct prism2_wep_data *priv; 72 struct prism2_wep_data *priv;
73 73
74 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 74 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
75 if (priv == NULL) 75 if (priv == NULL)
76 goto fail; 76 goto fail;
77 memset(priv, 0, sizeof(*priv));
78 priv->key_idx = keyidx; 77 priv->key_idx = keyidx;
79 78
80#if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED)) 79#if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED))
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
index c7aa1c63cb1..614a8b630e6 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
@@ -65,8 +65,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
65 if (ieee->networks) 65 if (ieee->networks)
66 return 0; 66 return 0;
67 67
68 ieee->networks = kmalloc( 68 ieee->networks = kcalloc(
69 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network), 69 MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
70 GFP_KERNEL); 70 GFP_KERNEL);
71 if (!ieee->networks) { 71 if (!ieee->networks) {
72 printk(KERN_WARNING "%s: Out of memory allocating beacons\n", 72 printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -74,9 +74,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
74 return -ENOMEM; 74 return -ENOMEM;
75 } 75 }
76 76
77 memset(ieee->networks, 0,
78 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
79
80 return 0; 77 return 0;
81} 78}
82 79
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
index 4f6ce06b606..215542a00ef 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
@@ -3079,10 +3079,9 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
3079 ieee->seq_ctrl[i] = 0; 3079 ieee->seq_ctrl[i] = 0;
3080 } 3080 }
3081#ifdef ENABLE_DOT11D 3081#ifdef ENABLE_DOT11D
3082 ieee->pDot11dInfo = kmalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC); 3082 ieee->pDot11dInfo = kzalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
3083 if (!ieee->pDot11dInfo) 3083 if (!ieee->pDot11dInfo)
3084 IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n"); 3084 IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n");
3085 memset(ieee->pDot11dInfo, 0, sizeof(RT_DOT11D_INFO));
3086#endif 3085#endif
3087 //added for AP roaming 3086 //added for AP roaming
3088 ieee->LinkDetectInfo.SlotNum = 2; 3087 ieee->LinkDetectInfo.SlotNum = 2;
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
index de57967b968..fcabaf3c88d 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
@@ -477,11 +477,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
477 struct ieee80211_crypt_data *new_crypt; 477 struct ieee80211_crypt_data *new_crypt;
478 478
479 /* take WEP into use */ 479 /* take WEP into use */
480 new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data), 480 new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
481 GFP_KERNEL); 481 GFP_KERNEL);
482 if (new_crypt == NULL) 482 if (new_crypt == NULL)
483 return -ENOMEM; 483 return -ENOMEM;
484 memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
485 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 484 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
486 if (!new_crypt->ops) 485 if (!new_crypt->ops)
487 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 486 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt.c
index c4640e63196..80194233943 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt.c
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
109 if (hcrypt == NULL) 109 if (hcrypt == NULL)
110 return -1; 110 return -1;
111 111
112 alg = kmalloc(sizeof(*alg), GFP_KERNEL); 112 alg = kzalloc(sizeof(*alg), GFP_KERNEL);
113 if (alg == NULL) 113 if (alg == NULL)
114 return -ENOMEM; 114 return -ENOMEM;
115 115
116 memset(alg, 0, sizeof(*alg));
117 alg->ops = ops; 116 alg->ops = ops;
118 117
119 spin_lock_irqsave(&hcrypt->lock, flags); 118 spin_lock_irqsave(&hcrypt->lock, flags);
@@ -206,11 +205,10 @@ int __init ieee80211_crypto_init(void)
206{ 205{
207 int ret = -ENOMEM; 206 int ret = -ENOMEM;
208 207
209 hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL); 208 hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
210 if (!hcrypt) 209 if (!hcrypt)
211 goto out; 210 goto out;
212 211
213 memset(hcrypt, 0, sizeof(*hcrypt));
214 INIT_LIST_HEAD(&hcrypt->algs); 212 INIT_LIST_HEAD(&hcrypt->algs);
215 spin_lock_init(&hcrypt->lock); 213 spin_lock_init(&hcrypt->lock);
216 214
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_ccmp.c
index 8a93f7d3eb3..77de957f1b1 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_ccmp.c
@@ -68,10 +68,9 @@ static void * ieee80211_ccmp_init(int key_idx)
68{ 68{
69 struct ieee80211_ccmp_data *priv; 69 struct ieee80211_ccmp_data *priv;
70 70
71 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 71 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
72 if (priv == NULL) 72 if (priv == NULL)
73 goto fail; 73 goto fail;
74 memset(priv, 0, sizeof(*priv));
75 priv->key_idx = key_idx; 74 priv->key_idx = key_idx;
76 75
77 priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC); 76 priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_tkip.c
index 7e48748da10..ade5f6f1366 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_tkip.c
@@ -67,10 +67,9 @@ static void * ieee80211_tkip_init(int key_idx)
67{ 67{
68 struct ieee80211_tkip_data *priv; 68 struct ieee80211_tkip_data *priv;
69 69
70 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 70 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
71 if (priv == NULL) 71 if (priv == NULL)
72 goto fail; 72 goto fail;
73 memset(priv, 0, sizeof(*priv));
74 priv->key_idx = key_idx; 73 priv->key_idx = key_idx;
75 74
76 priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0, 75 priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0,
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_wep.c
index 64f9cf01c94..a1c0a59122b 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_wep.c
@@ -43,10 +43,9 @@ static void * prism2_wep_init(int keyidx)
43{ 43{
44 struct prism2_wep_data *priv; 44 struct prism2_wep_data *priv;
45 45
46 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 46 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
47 if (priv == NULL) 47 if (priv == NULL)
48 goto fail; 48 goto fail;
49 memset(priv, 0, sizeof(*priv));
50 priv->key_idx = keyidx; 49 priv->key_idx = keyidx;
51 50
52 priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC); 51 priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_module.c
index 73de3baf915..a87650a517b 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_module.c
@@ -65,8 +65,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
65 if (ieee->networks) 65 if (ieee->networks)
66 return 0; 66 return 0;
67 67
68 ieee->networks = kmalloc( 68 ieee->networks = kcalloc(
69 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network), 69 MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
70 GFP_KERNEL); 70 GFP_KERNEL);
71 if (!ieee->networks) { 71 if (!ieee->networks) {
72 printk(KERN_WARNING "%s: Out of memory allocating beacons\n", 72 printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -74,9 +74,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
74 return -ENOMEM; 74 return -ENOMEM;
75 } 75 }
76 76
77 memset(ieee->networks, 0,
78 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
79
80 return 0; 77 return 0;
81} 78}
82 79
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
index 660aee2874a..b9fa15fccb7 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
@@ -2699,10 +2699,9 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
2699 for(i = 0; i < 5; i++) { 2699 for(i = 0; i < 5; i++) {
2700 ieee->seq_ctrl[i] = 0; 2700 ieee->seq_ctrl[i] = 0;
2701 } 2701 }
2702 ieee->pDot11dInfo = kmalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC); 2702 ieee->pDot11dInfo = kzalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
2703 if (!ieee->pDot11dInfo) 2703 if (!ieee->pDot11dInfo)
2704 IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n"); 2704 IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n");
2705 memset(ieee->pDot11dInfo, 0, sizeof(RT_DOT11D_INFO));
2706 //added for AP roaming 2705 //added for AP roaming
2707 ieee->LinkDetectInfo.SlotNum = 2; 2706 ieee->LinkDetectInfo.SlotNum = 2;
2708 ieee->LinkDetectInfo.NumRecvBcnInPeriod=0; 2707 ieee->LinkDetectInfo.NumRecvBcnInPeriod=0;
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
index 727cc552c5e..db54ad096da 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
@@ -352,11 +352,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
352 struct ieee80211_crypt_data *new_crypt; 352 struct ieee80211_crypt_data *new_crypt;
353 353
354 /* take WEP into use */ 354 /* take WEP into use */
355 new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data), 355 new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
356 GFP_KERNEL); 356 GFP_KERNEL);
357 if (new_crypt == NULL) 357 if (new_crypt == NULL)
358 return -ENOMEM; 358 return -ENOMEM;
359 memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
360 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 359 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
361 if (!new_crypt->ops) 360 if (!new_crypt->ops)
362 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 361 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
diff --git a/drivers/staging/rtl8192u/ieee80211/api.c b/drivers/staging/rtl8192u/ieee80211/api.c
index c627d029528..5f46e50e586 100644
--- a/drivers/staging/rtl8192u/ieee80211/api.c
+++ b/drivers/staging/rtl8192u/ieee80211/api.c
@@ -131,12 +131,10 @@ struct crypto_tfm *crypto_alloc_tfm(const char *name, u32 flags)
131 if (alg == NULL) 131 if (alg == NULL)
132 goto out; 132 goto out;
133 133
134 tfm = kmalloc(sizeof(*tfm) + alg->cra_ctxsize, GFP_KERNEL); 134 tfm = kzalloc(sizeof(*tfm) + alg->cra_ctxsize, GFP_KERNEL);
135 if (tfm == NULL) 135 if (tfm == NULL)
136 goto out_put; 136 goto out_put;
137 137
138 memset(tfm, 0, sizeof(*tfm) + alg->cra_ctxsize);
139
140 tfm->__crt_alg = alg; 138 tfm->__crt_alg = alg;
141 139
142 if (crypto_init_flags(tfm, flags)) 140 if (crypto_init_flags(tfm, flags))
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
index 521e7b98993..8707eba4f90 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
109 if (hcrypt == NULL) 109 if (hcrypt == NULL)
110 return -1; 110 return -1;
111 111
112 alg = kmalloc(sizeof(*alg), GFP_KERNEL); 112 alg = kzalloc(sizeof(*alg), GFP_KERNEL);
113 if (alg == NULL) 113 if (alg == NULL)
114 return -ENOMEM; 114 return -ENOMEM;
115 115
116 memset(alg, 0, sizeof(*alg));
117 alg->ops = ops; 116 alg->ops = ops;
118 117
119 spin_lock_irqsave(&hcrypt->lock, flags); 118 spin_lock_irqsave(&hcrypt->lock, flags);
@@ -206,11 +205,10 @@ int __init ieee80211_crypto_init(void)
206{ 205{
207 int ret = -ENOMEM; 206 int ret = -ENOMEM;
208 207
209 hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL); 208 hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
210 if (!hcrypt) 209 if (!hcrypt)
211 goto out; 210 goto out;
212 211
213 memset(hcrypt, 0, sizeof(*hcrypt));
214 INIT_LIST_HEAD(&hcrypt->algs); 212 INIT_LIST_HEAD(&hcrypt->algs);
215 spin_lock_init(&hcrypt->lock); 213 spin_lock_init(&hcrypt->lock);
216 214
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
index 0b57632bcff..4b078e53638 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
@@ -68,10 +68,9 @@ static void * ieee80211_ccmp_init(int key_idx)
68{ 68{
69 struct ieee80211_ccmp_data *priv; 69 struct ieee80211_ccmp_data *priv;
70 70
71 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 71 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
72 if (priv == NULL) 72 if (priv == NULL)
73 goto fail; 73 goto fail;
74 memset(priv, 0, sizeof(*priv));
75 priv->key_idx = key_idx; 74 priv->key_idx = key_idx;
76 75
77 priv->tfm = (void*)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC); 76 priv->tfm = (void*)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
index 9510507d8d0..a98584c845b 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
@@ -67,10 +67,9 @@ static void * ieee80211_tkip_init(int key_idx)
67{ 67{
68 struct ieee80211_tkip_data *priv; 68 struct ieee80211_tkip_data *priv;
69 69
70 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 70 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
71 if (priv == NULL) 71 if (priv == NULL)
72 goto fail; 72 goto fail;
73 memset(priv, 0, sizeof(*priv));
74 priv->key_idx = key_idx; 73 priv->key_idx = key_idx;
75 74
76 priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0, 75 priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0,
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
index 61ad11cae38..96c2c9d67fd 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
@@ -43,10 +43,9 @@ static void * prism2_wep_init(int keyidx)
43{ 43{
44 struct prism2_wep_data *priv; 44 struct prism2_wep_data *priv;
45 45
46 priv = kmalloc(sizeof(*priv), GFP_ATOMIC); 46 priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
47 if (priv == NULL) 47 if (priv == NULL)
48 goto fail; 48 goto fail;
49 memset(priv, 0, sizeof(*priv));
50 priv->key_idx = keyidx; 49 priv->key_idx = keyidx;
51 50
52 priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC); 51 priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
index 1111002bad9..7455264aa54 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
@@ -65,8 +65,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
65 if (ieee->networks) 65 if (ieee->networks)
66 return 0; 66 return 0;
67 67
68 ieee->networks = kmalloc( 68 ieee->networks = kcalloc(
69 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network), 69 MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
70 GFP_KERNEL); 70 GFP_KERNEL);
71 if (!ieee->networks) { 71 if (!ieee->networks) {
72 printk(KERN_WARNING "%s: Out of memory allocating beacons\n", 72 printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -74,9 +74,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
74 return -ENOMEM; 74 return -ENOMEM;
75 } 75 }
76 76
77 memset(ieee->networks, 0,
78 MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
79
80 return 0; 77 return 0;
81} 78}
82 79
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
index 6c6bf9f6e78..a6955e2b45c 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
@@ -2723,10 +2723,9 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
2723 ieee->seq_ctrl[i] = 0; 2723 ieee->seq_ctrl[i] = 0;
2724 } 2724 }
2725#ifdef ENABLE_DOT11D 2725#ifdef ENABLE_DOT11D
2726 ieee->pDot11dInfo = kmalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC); 2726 ieee->pDot11dInfo = kzalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
2727 if (!ieee->pDot11dInfo) 2727 if (!ieee->pDot11dInfo)
2728 IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n"); 2728 IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n");
2729 memset(ieee->pDot11dInfo, 0, sizeof(RT_DOT11D_INFO));
2730#endif 2729#endif
2731 //added for AP roaming 2730 //added for AP roaming
2732 ieee->LinkDetectInfo.SlotNum = 2; 2731 ieee->LinkDetectInfo.SlotNum = 2;
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
index 4d5348e6c10..79b180f79e8 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
@@ -379,11 +379,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
379 struct ieee80211_crypt_data *new_crypt; 379 struct ieee80211_crypt_data *new_crypt;
380 380
381 /* take WEP into use */ 381 /* take WEP into use */
382 new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data), 382 new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
383 GFP_KERNEL); 383 GFP_KERNEL);
384 if (new_crypt == NULL) 384 if (new_crypt == NULL)
385 return -ENOMEM; 385 return -ENOMEM;
386 memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
387 new_crypt->ops = ieee80211_get_crypto_ops("WEP"); 386 new_crypt->ops = ieee80211_get_crypto_ops("WEP");
388 if (!new_crypt->ops) { 387 if (!new_crypt->ops) {
389 request_module("ieee80211_crypt_wep"); 388 request_module("ieee80211_crypt_wep");
diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c
index cbbc7d32fcf..2bede271a2f 100644
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -2251,13 +2251,11 @@ short rtl8192_usb_initendpoints(struct net_device *dev)
2251#endif 2251#endif
2252 2252
2253 memset(priv->rx_urb, 0, sizeof(struct urb*) * MAX_RX_URB); 2253 memset(priv->rx_urb, 0, sizeof(struct urb*) * MAX_RX_URB);
2254 priv->pp_rxskb = kmalloc(sizeof(struct sk_buff *) * MAX_RX_URB, 2254 priv->pp_rxskb = kcalloc(MAX_RX_URB, sizeof(struct sk_buff *),
2255 GFP_KERNEL); 2255 GFP_KERNEL);
2256 if (priv->pp_rxskb == NULL) 2256 if (priv->pp_rxskb == NULL)
2257 goto destroy; 2257 goto destroy;
2258 2258
2259 memset(priv->pp_rxskb, 0, sizeof(struct sk_buff*) * MAX_RX_URB);
2260
2261 goto _middle; 2259 goto _middle;
2262 2260
2263 2261
diff --git a/drivers/staging/sm7xx/smtcfb.c b/drivers/staging/sm7xx/smtcfb.c
index e817a20d1bd..9ffeb36ddde 100644
--- a/drivers/staging/sm7xx/smtcfb.c
+++ b/drivers/staging/sm7xx/smtcfb.c
@@ -688,13 +688,11 @@ static struct smtcfb_info *smtc_alloc_fb_info(struct pci_dev *dev,
688{ 688{
689 struct smtcfb_info *sfb; 689 struct smtcfb_info *sfb;
690 690
691 sfb = kmalloc(sizeof(struct smtcfb_info), GFP_KERNEL); 691 sfb = kzalloc(sizeof(struct smtcfb_info), GFP_KERNEL);
692 692
693 if (!sfb) 693 if (!sfb)
694 return NULL; 694 return NULL;
695 695
696 memset(sfb, 0, sizeof(struct smtcfb_info));
697
698 sfb->currcon = -1; 696 sfb->currcon = -1;
699 sfb->dev = dev; 697 sfb->dev = dev;
700 698
diff --git a/drivers/staging/vme/bridges/vme_ca91cx42.c b/drivers/staging/vme/bridges/vme_ca91cx42.c
index c35dead64a3..0c82eb47a28 100644
--- a/drivers/staging/vme/bridges/vme_ca91cx42.c
+++ b/drivers/staging/vme/bridges/vme_ca91cx42.c
@@ -1494,7 +1494,7 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1494 /* We want to support more than one of each bridge so we need to 1494 /* We want to support more than one of each bridge so we need to
1495 * dynamically allocate the bridge structure 1495 * dynamically allocate the bridge structure
1496 */ 1496 */
1497 ca91cx42_bridge = kmalloc(sizeof(struct vme_bridge), GFP_KERNEL); 1497 ca91cx42_bridge = kzalloc(sizeof(struct vme_bridge), GFP_KERNEL);
1498 1498
1499 if (ca91cx42_bridge == NULL) { 1499 if (ca91cx42_bridge == NULL) {
1500 dev_err(&pdev->dev, "Failed to allocate memory for device " 1500 dev_err(&pdev->dev, "Failed to allocate memory for device "
@@ -1503,9 +1503,7 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1503 goto err_struct; 1503 goto err_struct;
1504 } 1504 }
1505 1505
1506 memset(ca91cx42_bridge, 0, sizeof(struct vme_bridge)); 1506 ca91cx42_device = kzalloc(sizeof(struct ca91cx42_driver), GFP_KERNEL);
1507
1508 ca91cx42_device = kmalloc(sizeof(struct ca91cx42_driver), GFP_KERNEL);
1509 1507
1510 if (ca91cx42_device == NULL) { 1508 if (ca91cx42_device == NULL) {
1511 dev_err(&pdev->dev, "Failed to allocate memory for device " 1509 dev_err(&pdev->dev, "Failed to allocate memory for device "
@@ -1514,8 +1512,6 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1514 goto err_driver; 1512 goto err_driver;
1515 } 1513 }
1516 1514
1517 memset(ca91cx42_device, 0, sizeof(struct ca91cx42_driver));
1518
1519 ca91cx42_bridge->driver_priv = ca91cx42_device; 1515 ca91cx42_bridge->driver_priv = ca91cx42_device;
1520 1516
1521 /* Enable the device */ 1517 /* Enable the device */
diff --git a/drivers/staging/vme/bridges/vme_tsi148.c b/drivers/staging/vme/bridges/vme_tsi148.c
index 7539cce6e2a..cf8cf37a82c 100644
--- a/drivers/staging/vme/bridges/vme_tsi148.c
+++ b/drivers/staging/vme/bridges/vme_tsi148.c
@@ -2230,7 +2230,7 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
2230 /* If we want to support more than one of each bridge, we need to 2230 /* If we want to support more than one of each bridge, we need to
2231 * dynamically generate this so we get one per device 2231 * dynamically generate this so we get one per device
2232 */ 2232 */
2233 tsi148_bridge = kmalloc(sizeof(struct vme_bridge), GFP_KERNEL); 2233 tsi148_bridge = kzalloc(sizeof(struct vme_bridge), GFP_KERNEL);
2234 if (tsi148_bridge == NULL) { 2234 if (tsi148_bridge == NULL) {
2235 dev_err(&pdev->dev, "Failed to allocate memory for device " 2235 dev_err(&pdev->dev, "Failed to allocate memory for device "
2236 "structure\n"); 2236 "structure\n");
@@ -2238,9 +2238,7 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
2238 goto err_struct; 2238 goto err_struct;
2239 } 2239 }
2240 2240
2241 memset(tsi148_bridge, 0, sizeof(struct vme_bridge)); 2241 tsi148_device = kzalloc(sizeof(struct tsi148_driver), GFP_KERNEL);
2242
2243 tsi148_device = kmalloc(sizeof(struct tsi148_driver), GFP_KERNEL);
2244 if (tsi148_device == NULL) { 2242 if (tsi148_device == NULL) {
2245 dev_err(&pdev->dev, "Failed to allocate memory for device " 2243 dev_err(&pdev->dev, "Failed to allocate memory for device "
2246 "structure\n"); 2244 "structure\n");
@@ -2248,8 +2246,6 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
2248 goto err_driver; 2246 goto err_driver;
2249 } 2247 }
2250 2248
2251 memset(tsi148_device, 0, sizeof(struct tsi148_driver));
2252
2253 tsi148_bridge->driver_priv = tsi148_device; 2249 tsi148_bridge->driver_priv = tsi148_device;
2254 2250
2255 /* Enable the device */ 2251 /* Enable the device */
diff --git a/drivers/staging/vt6655/hostap.c b/drivers/staging/vt6655/hostap.c
index fb7775c5233..195cc36654a 100644
--- a/drivers/staging/vt6655/hostap.c
+++ b/drivers/staging/vt6655/hostap.c
@@ -90,10 +90,9 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
90 90
91 DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name); 91 DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name);
92 92
93 pDevice->apdev = kmalloc(sizeof(struct net_device), GFP_KERNEL); 93 pDevice->apdev = kzalloc(sizeof(struct net_device), GFP_KERNEL);
94 if (pDevice->apdev == NULL) 94 if (pDevice->apdev == NULL)
95 return -ENOMEM; 95 return -ENOMEM;
96 memset(pDevice->apdev, 0, sizeof(struct net_device));
97 96
98 apdev_priv = netdev_priv(pDevice->apdev); 97 apdev_priv = netdev_priv(pDevice->apdev);
99 *apdev_priv = *pDevice; 98 *apdev_priv = *pDevice;
diff --git a/drivers/staging/vt6655/wpactl.c b/drivers/staging/vt6655/wpactl.c
index e5e618eb6bb..9f215dfa86e 100644
--- a/drivers/staging/vt6655/wpactl.c
+++ b/drivers/staging/vt6655/wpactl.c
@@ -681,13 +681,12 @@ static int wpa_get_scan(PSDevice pDevice,
681 count++; 681 count++;
682 }; 682 };
683 683
684 pBuf = kmalloc(sizeof(struct viawget_scan_result) * count, (int)GFP_ATOMIC); 684 pBuf = kcalloc(count, sizeof(struct viawget_scan_result), (int)GFP_ATOMIC);
685 685
686 if (pBuf == NULL) { 686 if (pBuf == NULL) {
687 ret = -ENOMEM; 687 ret = -ENOMEM;
688 return ret; 688 return ret;
689 } 689 }
690 memset(pBuf, 0, sizeof(struct viawget_scan_result) * count);
691 scan_buf = (struct viawget_scan_result *)pBuf; 690 scan_buf = (struct viawget_scan_result *)pBuf;
692 pBSS = &(pMgmt->sBSSList[0]); 691 pBSS = &(pMgmt->sBSSList[0]);
693 for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) { 692 for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) {
diff --git a/drivers/staging/vt6656/hostap.c b/drivers/staging/vt6656/hostap.c
index 44386316b21..93e52a3ebd8 100644
--- a/drivers/staging/vt6656/hostap.c
+++ b/drivers/staging/vt6656/hostap.c
@@ -91,10 +91,9 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
91 91
92 DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name); 92 DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name);
93 93
94 pDevice->apdev = kmalloc(sizeof(struct net_device), GFP_KERNEL); 94 pDevice->apdev = kzalloc(sizeof(struct net_device), GFP_KERNEL);
95 if (pDevice->apdev == NULL) 95 if (pDevice->apdev == NULL)
96 return -ENOMEM; 96 return -ENOMEM;
97 memset(pDevice->apdev, 0, sizeof(struct net_device));
98 97
99 apdev_priv = netdev_priv(pDevice->apdev); 98 apdev_priv = netdev_priv(pDevice->apdev);
100 *apdev_priv = *pDevice; 99 *apdev_priv = *pDevice;
diff --git a/drivers/staging/vt6656/wpactl.c b/drivers/staging/vt6656/wpactl.c
index 8f7ad2c4308..961f583368a 100644
--- a/drivers/staging/vt6656/wpactl.c
+++ b/drivers/staging/vt6656/wpactl.c
@@ -678,13 +678,12 @@ static int wpa_get_scan(PSDevice pDevice,
678 count++; 678 count++;
679 }; 679 };
680 680
681 pBuf = kmalloc(sizeof(struct viawget_scan_result) * count, (int)GFP_ATOMIC); 681 pBuf = kcalloc(count, sizeof(struct viawget_scan_result), (int)GFP_ATOMIC);
682 682
683 if (pBuf == NULL) { 683 if (pBuf == NULL) {
684 ret = -ENOMEM; 684 ret = -ENOMEM;
685 return ret; 685 return ret;
686 } 686 }
687 memset(pBuf, 0, sizeof(struct viawget_scan_result) * count);
688 scan_buf = (struct viawget_scan_result *)pBuf; 687 scan_buf = (struct viawget_scan_result *)pBuf;
689 pBSS = &(pMgmt->sBSSList[0]); 688 pBSS = &(pMgmt->sBSSList[0]);
690 for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) { 689 for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) {
diff --git a/drivers/staging/wlan-ng/p80211conv.c b/drivers/staging/wlan-ng/p80211conv.c
index 71c3595fe83..059e15055b7 100644
--- a/drivers/staging/wlan-ng/p80211conv.c
+++ b/drivers/staging/wlan-ng/p80211conv.c
@@ -601,7 +601,7 @@ int p80211skb_rxmeta_attach(struct wlandevice *wlandev, struct sk_buff *skb)
601 } 601 }
602 602
603 /* Allocate the rxmeta */ 603 /* Allocate the rxmeta */
604 rxmeta = kmalloc(sizeof(p80211_rxmeta_t), GFP_ATOMIC); 604 rxmeta = kzalloc(sizeof(p80211_rxmeta_t), GFP_ATOMIC);
605 605
606 if (rxmeta == NULL) { 606 if (rxmeta == NULL) {
607 printk(KERN_ERR "%s: Failed to allocate rxmeta.\n", 607 printk(KERN_ERR "%s: Failed to allocate rxmeta.\n",
@@ -611,7 +611,6 @@ int p80211skb_rxmeta_attach(struct wlandevice *wlandev, struct sk_buff *skb)
611 } 611 }
612 612
613 /* Initialize the rxmeta */ 613 /* Initialize the rxmeta */
614 memset(rxmeta, 0, sizeof(p80211_rxmeta_t));
615 rxmeta->wlandev = wlandev; 614 rxmeta->wlandev = wlandev;
616 rxmeta->hosttime = jiffies; 615 rxmeta->hosttime = jiffies;
617 616
diff --git a/drivers/staging/wlan-ng/prism2fw.c b/drivers/staging/wlan-ng/prism2fw.c
index fc2d8f40edd..d20c8797bcc 100644
--- a/drivers/staging/wlan-ng/prism2fw.c
+++ b/drivers/staging/wlan-ng/prism2fw.c
@@ -536,13 +536,12 @@ int mkimage(imgchunk_t *clist, unsigned int *ccnt)
536 536
537 /* Allocate buffer space for chunks */ 537 /* Allocate buffer space for chunks */
538 for (i = 0; i < *ccnt; i++) { 538 for (i = 0; i < *ccnt; i++) {
539 clist[i].data = kmalloc(clist[i].len, GFP_KERNEL); 539 clist[i].data = kzalloc(clist[i].len, GFP_KERNEL);
540 if (clist[i].data == NULL) { 540 if (clist[i].data == NULL) {
541 printk(KERN_ERR 541 printk(KERN_ERR
542 "failed to allocate image space, exitting.\n"); 542 "failed to allocate image space, exitting.\n");
543 return 1; 543 return 1;
544 } 544 }
545 memset(clist[i].data, 0, clist[i].len);
546 pr_debug("chunk[%d]: addr=0x%06x len=%d\n", 545 pr_debug("chunk[%d]: addr=0x%06x len=%d\n",
547 i, clist[i].addr, clist[i].len); 546 i, clist[i].addr, clist[i].len);
548 } 547 }