aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2014-09-26 17:40:28 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-09-30 13:17:38 -0400
commitef09396ef622572c604d4977e76f6151ef68ed21 (patch)
tree3b4d123539b4446455112e4e74b21daa590db100
parent557f933113a42a48ec617b81b5ea53fd7202b1ed (diff)
rtlwifi: rtl8188ee: rtl8723ae: rtl8821ae: Initialize some variables
In a number of places, kmalloc or valloc were used to acquire memory. To ensure that these locations are correctly initialized, the calls were changed to kzalloc and vzalloc. The change fixes a problem that was causing HT operations to be cancelled. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/rtlwifi/efuse.c4
-rw-r--r--drivers/net/wireless/rtlwifi/pci.c20
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8188ee/sw.c2
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c2
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/sw.c2
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8821ae/sw.c2
-rw-r--r--drivers/net/wireless/rtlwifi/usb.c4
7 files changed, 18 insertions, 18 deletions
diff --git a/drivers/net/wireless/rtlwifi/efuse.c b/drivers/net/wireless/rtlwifi/efuse.c
index 118293b631cd..0b4082c9272a 100644
--- a/drivers/net/wireless/rtlwifi/efuse.c
+++ b/drivers/net/wireless/rtlwifi/efuse.c
@@ -251,7 +251,7 @@ void read_efuse(struct ieee80211_hw *hw, u16 _offset, u16 _size_byte, u8 *pbuf)
251 } 251 }
252 252
253 /* allocate memory for efuse_tbl and efuse_word */ 253 /* allocate memory for efuse_tbl and efuse_word */
254 efuse_tbl = kmalloc(rtlpriv->cfg->maps[EFUSE_HWSET_MAX_SIZE] * 254 efuse_tbl = kzalloc(rtlpriv->cfg->maps[EFUSE_HWSET_MAX_SIZE] *
255 sizeof(u8), GFP_ATOMIC); 255 sizeof(u8), GFP_ATOMIC);
256 if (!efuse_tbl) 256 if (!efuse_tbl)
257 return; 257 return;
@@ -259,7 +259,7 @@ void read_efuse(struct ieee80211_hw *hw, u16 _offset, u16 _size_byte, u8 *pbuf)
259 if (!efuse_word) 259 if (!efuse_word)
260 goto out; 260 goto out;
261 for (i = 0; i < EFUSE_MAX_WORD_UNIT; i++) { 261 for (i = 0; i < EFUSE_MAX_WORD_UNIT; i++) {
262 efuse_word[i] = kmalloc(efuse_max_section * sizeof(u16), 262 efuse_word[i] = kzalloc(efuse_max_section * sizeof(u16),
263 GFP_ATOMIC); 263 GFP_ATOMIC);
264 if (!efuse_word[i]) 264 if (!efuse_word[i])
265 goto done; 265 goto done;
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c
index 1dbb22b537ef..667aba81246c 100644
--- a/drivers/net/wireless/rtlwifi/pci.c
+++ b/drivers/net/wireless/rtlwifi/pci.c
@@ -2243,16 +2243,6 @@ int rtl_pci_probe(struct pci_dev *pdev,
2243 /*like read eeprom and so on */ 2243 /*like read eeprom and so on */
2244 rtlpriv->cfg->ops->read_eeprom_info(hw); 2244 rtlpriv->cfg->ops->read_eeprom_info(hw);
2245 2245
2246 if (rtlpriv->cfg->ops->init_sw_vars(hw)) {
2247 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, "Can't init_sw_vars\n");
2248 err = -ENODEV;
2249 goto fail3;
2250 }
2251 rtlpriv->cfg->ops->init_sw_leds(hw);
2252
2253 /*aspm */
2254 rtl_pci_init_aspm(hw);
2255
2256 /* Init mac80211 sw */ 2246 /* Init mac80211 sw */
2257 err = rtl_init_core(hw); 2247 err = rtl_init_core(hw);
2258 if (err) { 2248 if (err) {
@@ -2268,6 +2258,16 @@ int rtl_pci_probe(struct pci_dev *pdev,
2268 goto fail3; 2258 goto fail3;
2269 } 2259 }
2270 2260
2261 if (rtlpriv->cfg->ops->init_sw_vars(hw)) {
2262 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, "Can't init_sw_vars\n");
2263 err = -ENODEV;
2264 goto fail3;
2265 }
2266 rtlpriv->cfg->ops->init_sw_leds(hw);
2267
2268 /*aspm */
2269 rtl_pci_init_aspm(hw);
2270
2271 err = ieee80211_register_hw(hw); 2271 err = ieee80211_register_hw(hw);
2272 if (err) { 2272 if (err) {
2273 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, 2273 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
diff --git a/drivers/net/wireless/rtlwifi/rtl8188ee/sw.c b/drivers/net/wireless/rtlwifi/rtl8188ee/sw.c
index ab7dbfb2623f..11344121c55e 100644
--- a/drivers/net/wireless/rtlwifi/rtl8188ee/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8188ee/sw.c
@@ -159,7 +159,7 @@ int rtl88e_init_sw_vars(struct ieee80211_hw *hw)
159 rtlpriv->psc.fwctrl_psmode = FW_PS_DTIM_MODE; 159 rtlpriv->psc.fwctrl_psmode = FW_PS_DTIM_MODE;
160 160
161 /* for firmware buf */ 161 /* for firmware buf */
162 rtlpriv->rtlhal.pfirmware = vmalloc(0x8000); 162 rtlpriv->rtlhal.pfirmware = vzalloc(0x8000);
163 if (!rtlpriv->rtlhal.pfirmware) { 163 if (!rtlpriv->rtlhal.pfirmware) {
164 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, 164 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
165 "Can't alloc buffer for fw.\n"); 165 "Can't alloc buffer for fw.\n");
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c b/drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c
index 747958abd256..00a0531cc5f4 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c
@@ -1735,7 +1735,7 @@ void rtl_8723e_c2h_command_handle(struct ieee80211_hw *hw)
1735 rtl_write_byte(rtlpriv, 0x1AF, 0x00); 1735 rtl_write_byte(rtlpriv, 0x1AF, 0x00);
1736 return; 1736 return;
1737 } 1737 }
1738 ptmp_buf = kmalloc(c2h_event.cmd_len, GFP_KERNEL); 1738 ptmp_buf = kzalloc(c2h_event.cmd_len, GFP_KERNEL);
1739 if (ptmp_buf == NULL) { 1739 if (ptmp_buf == NULL) {
1740 RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, 1740 RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE,
1741 "malloc cmd buf failed\n"); 1741 "malloc cmd buf failed\n");
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
index d8f8cc49a430..8280bab43df4 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
@@ -164,7 +164,7 @@ int rtl8723e_init_sw_vars(struct ieee80211_hw *hw)
164 rtlpriv->psc.fwctrl_psmode = FW_PS_DTIM_MODE; 164 rtlpriv->psc.fwctrl_psmode = FW_PS_DTIM_MODE;
165 165
166 /* for firmware buf */ 166 /* for firmware buf */
167 rtlpriv->rtlhal.pfirmware = vmalloc(0x6000); 167 rtlpriv->rtlhal.pfirmware = vzalloc(0x6000);
168 if (!rtlpriv->rtlhal.pfirmware) { 168 if (!rtlpriv->rtlhal.pfirmware) {
169 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, 169 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
170 "Can't alloc buffer for fw.\n"); 170 "Can't alloc buffer for fw.\n");
diff --git a/drivers/net/wireless/rtlwifi/rtl8821ae/sw.c b/drivers/net/wireless/rtlwifi/rtl8821ae/sw.c
index 3cf7557b7786..fc92dd6a0d07 100644
--- a/drivers/net/wireless/rtlwifi/rtl8821ae/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8821ae/sw.c
@@ -95,7 +95,7 @@ static void load_wowlan_fw(struct rtl_priv *rtlpriv)
95 int err; 95 int err;
96 96
97 /* for wowlan firmware buf */ 97 /* for wowlan firmware buf */
98 rtlpriv->rtlhal.wowlan_firmware = vmalloc(0x8000); 98 rtlpriv->rtlhal.wowlan_firmware = vzalloc(0x8000);
99 if (!rtlpriv->rtlhal.wowlan_firmware) { 99 if (!rtlpriv->rtlhal.wowlan_firmware) {
100 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, 100 RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
101 "Can't alloc buffer for wowlan fw.\n"); 101 "Can't alloc buffer for wowlan fw.\n");
diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c
index 0398d3ea15b0..10cf69c4bc42 100644
--- a/drivers/net/wireless/rtlwifi/usb.c
+++ b/drivers/net/wireless/rtlwifi/usb.c
@@ -75,11 +75,11 @@ static int _usbctrl_vendorreq_async_write(struct usb_device *udev, u8 request,
75 pipe = usb_sndctrlpipe(udev, 0); /* write_out */ 75 pipe = usb_sndctrlpipe(udev, 0); /* write_out */
76 reqtype = REALTEK_USB_VENQT_WRITE; 76 reqtype = REALTEK_USB_VENQT_WRITE;
77 77
78 dr = kmalloc(sizeof(*dr), GFP_ATOMIC); 78 dr = kzalloc(sizeof(*dr), GFP_ATOMIC);
79 if (!dr) 79 if (!dr)
80 return -ENOMEM; 80 return -ENOMEM;
81 81
82 databuf = kmalloc(databuf_maxlen, GFP_ATOMIC); 82 databuf = kzalloc(databuf_maxlen, GFP_ATOMIC);
83 if (!databuf) { 83 if (!databuf) {
84 kfree(dr); 84 kfree(dr);
85 return -ENOMEM; 85 return -ENOMEM;