1
0
Fork 0

staging: rtl8723au: Add GFP argument to rtw_alloc_stainfo23a()

No need to allocate GFP_ATOMIC when we don't need to.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
wifi-calibration
Jes Sorensen 2014-05-09 15:03:49 +02:00 committed by Greg Kroah-Hartman
parent 2ad7c3d940
commit 6e8bc71df6
6 changed files with 15 additions and 9 deletions

View File

@ -1049,7 +1049,9 @@ int rtw_check_beacon_data23a(struct rtw_adapter *padapter, u8 *pbuf,
/* alloc sta_info for ap itself */
psta = rtw_get_stainfo23a(&padapter->stapriv, pbss_network->MacAddress);
if (!psta) {
psta = rtw_alloc_stainfo23a(&padapter->stapriv, pbss_network->MacAddress);
psta = rtw_alloc_stainfo23a(&padapter->stapriv,
pbss_network->MacAddress,
GFP_KERNEL);
if (!psta)
return _FAIL;
}

View File

@ -1510,7 +1510,8 @@ void rtw_createbss_cmd23a_callback(struct rtw_adapter *padapter,
pnetwork->MacAddress);
if (!psta) {
psta = rtw_alloc_stainfo23a(&padapter->stapriv,
pnetwork->MacAddress);
pnetwork->MacAddress,
GFP_KERNEL);
if (!psta) {
RT_TRACE(_module_rtl871x_cmd_c_, _drv_err_,
("\nCan't alloc sta_info when "

View File

@ -1014,7 +1014,8 @@ rtw_joinbss_update_stainfo(struct rtw_adapter *padapter,
psta = rtw_get_stainfo23a(pstapriv, pnetwork->network.MacAddress);
if (!psta)
psta = rtw_alloc_stainfo23a(pstapriv,
pnetwork->network.MacAddress);
pnetwork->network.MacAddress,
GFP_ATOMIC);
if (psta) { /* update ptarget_sta */
DBG_8723A("%s\n", __func__);
@ -1379,7 +1380,8 @@ void rtw_stassoc_event_callback23a(struct rtw_adapter *adapter, const u8 *pbuf)
return;
}
psta = rtw_alloc_stainfo23a(&adapter->stapriv, pstassoc->macaddr);
psta = rtw_alloc_stainfo23a(&adapter->stapriv, pstassoc->macaddr,
GFP_KERNEL);
if (!psta) {
RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,
("Can't alloc sta_info when "

View File

@ -916,7 +916,7 @@ OnAuth23a(struct rtw_adapter *padapter, struct recv_frame *precv_frame)
/* allocate a new one */
DBG_8723A("going to alloc stainfo for sa ="MAC_FMT"\n",
MAC_ARG(sa));
pstat = rtw_alloc_stainfo23a(pstapriv, sa);
pstat = rtw_alloc_stainfo23a(pstapriv, sa, GFP_ATOMIC);
if (!pstat) {
DBG_8723A(" Exceed the upper limit of supported "
"clients...\n");

View File

@ -107,7 +107,8 @@ u32 _rtw_free_sta_priv23a(struct sta_priv *pstapriv)
return _SUCCESS;
}
struct sta_info *rtw_alloc_stainfo23a(struct sta_priv *pstapriv, u8 *hwaddr)
struct sta_info *
rtw_alloc_stainfo23a(struct sta_priv *pstapriv, u8 *hwaddr, int gfp)
{
struct list_head *phash_list;
struct sta_info *psta;
@ -116,7 +117,7 @@ struct sta_info *rtw_alloc_stainfo23a(struct sta_priv *pstapriv, u8 *hwaddr)
int i = 0;
u16 wRxSeqInitialValue = 0xffff;
psta = (struct sta_info *)kmalloc(sizeof(struct sta_info), GFP_ATOMIC);
psta = (struct sta_info *)kmalloc(sizeof(struct sta_info), gfp);
if (!psta)
return NULL;
@ -382,7 +383,7 @@ u32 rtw_init_bcmc_stainfo23a(struct rtw_adapter* padapter)
u32 res = _SUCCESS;
unsigned char bcast_addr[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
psta = rtw_alloc_stainfo23a(pstapriv, bcast_addr);
psta = rtw_alloc_stainfo23a(pstapriv, bcast_addr, GFP_KERNEL);
if (psta == NULL) {
res = _FAIL;
RT_TRACE(_module_rtl871x_sta_mgt_c_, _drv_err_,

View File

@ -365,7 +365,7 @@ static inline u32 wifi_mac_hash(const u8 *mac)
u32 _rtw_init_sta_priv23a(struct sta_priv *pstapriv);
u32 _rtw_free_sta_priv23a(struct sta_priv *pstapriv);
struct sta_info *rtw_alloc_stainfo23a(struct sta_priv *pstapriv, u8 *hwaddr);
struct sta_info *rtw_alloc_stainfo23a(struct sta_priv *pstapriv, u8 *hwaddr, int gfp);
u32 rtw_free_stainfo23a(struct rtw_adapter *padapter, struct sta_info *psta);
void rtw_free_all_stainfo23a(struct rtw_adapter *padapter);
struct sta_info *rtw_get_stainfo23a(struct sta_priv *pstapriv, const u8 *hwaddr);