|
|
@@ -178,7 +178,9 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
|
|
|
|
|
|
pxmitpriv->free_xmit_extbuf_cnt = num_xmit_extbuf;
|
|
|
|
|
|
- rtw_alloc_hwxmits(padapter);
|
|
|
+ res = rtw_alloc_hwxmits(padapter);
|
|
|
+ if (res == _FAIL)
|
|
|
+ goto exit;
|
|
|
rtw_init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
|
|
|
|
|
|
for (i = 0; i < 4; i++)
|
|
|
@@ -1502,7 +1504,7 @@ exit:
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
-void rtw_alloc_hwxmits(struct adapter *padapter)
|
|
|
+s32 rtw_alloc_hwxmits(struct adapter *padapter)
|
|
|
{
|
|
|
struct hw_xmit *hwxmits;
|
|
|
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
|
|
@@ -1511,6 +1513,8 @@ void rtw_alloc_hwxmits(struct adapter *padapter)
|
|
|
|
|
|
pxmitpriv->hwxmits = kcalloc(pxmitpriv->hwxmit_entry,
|
|
|
sizeof(struct hw_xmit), GFP_KERNEL);
|
|
|
+ if (!pxmitpriv->hwxmits)
|
|
|
+ return _FAIL;
|
|
|
|
|
|
hwxmits = pxmitpriv->hwxmits;
|
|
|
|
|
|
@@ -1518,6 +1522,7 @@ void rtw_alloc_hwxmits(struct adapter *padapter)
|
|
|
hwxmits[1] .sta_queue = &pxmitpriv->vi_pending;
|
|
|
hwxmits[2] .sta_queue = &pxmitpriv->be_pending;
|
|
|
hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
|
|
|
+ return _SUCCESS;
|
|
|
}
|
|
|
|
|
|
void rtw_free_hwxmits(struct adapter *padapter)
|