qcacmn: mgmt frame txrx

Modify P2P IE and tx mgmt frame. Handles tx confirm and rx frame
events.

Change-Id: I0c0ada2e12ee5ebdd3e8d7b7a6f2bd2af4357548
CRs-Fixed: 2015297
This commit is contained in:
Wu Gao
2017-03-22 13:18:15 +08:00
committed by Sandeep Puligilla
父節點 6d47f3c412
當前提交 2761077ad5

查看文件

@@ -127,6 +127,7 @@ static void wlan_p2p_action_tx_cnf_callback(void *user_data,
struct wlan_objmgr_vdev *vdev;
struct vdev_osif_priv *osif_priv;
struct wireless_dev *wdev;
bool is_success;
cfg80211_info("user data:%p, action cookie:%llx, buf:%p, len:%d, tx status:%d",
user_data, tx_cnf->action_cookie, tx_cnf->buf,
@@ -159,11 +160,12 @@ static void wlan_p2p_action_tx_cnf_callback(void *user_data,
goto fail;
}
is_success = tx_cnf->status ? false : true;
cfg80211_mgmt_tx_status(
wdev,
tx_cnf->action_cookie,
tx_cnf->buf, tx_cnf->buf_len,
(bool)tx_cnf->status, GFP_KERNEL);
is_success, GFP_KERNEL);
fail:
wlan_objmgr_vdev_release_ref(vdev, WLAN_P2P_ID);
}
@@ -360,7 +362,7 @@ int wlan_cfg80211_roc(struct wlan_objmgr_vdev *vdev,
wlan_vdev_obj_unlock(vdev);
if (!psoc) {
cfg80211_err("psoc handle is NULL");
return QDF_STATUS_E_INVAL;
return -EINVAL;
}
roc_req.chan = (uint32_t)wlan_freq_to_chan(chan->center_freq);
@@ -386,7 +388,7 @@ int wlan_cfg80211_cancel_roc(struct wlan_objmgr_vdev *vdev,
wlan_vdev_obj_unlock(vdev);
if (!psoc) {
cfg80211_err("psoc handle is NULL");
return QDF_STATUS_E_INVAL;
return -EINVAL;
}
return qdf_status_to_os_return(
@@ -419,7 +421,7 @@ int wlan_cfg80211_mgmt_tx(struct wlan_objmgr_vdev *vdev,
wlan_vdev_obj_unlock(vdev);
if (!psoc) {
cfg80211_err("psoc handle is NULL");
return QDF_STATUS_E_INVAL;
return -EINVAL;
}
mgmt_tx.vdev_id = (uint32_t)vdev_id;
@@ -428,6 +430,7 @@ int wlan_cfg80211_mgmt_tx(struct wlan_objmgr_vdev *vdev,
mgmt_tx.len = len;
mgmt_tx.no_cck = (uint32_t)no_cck;
mgmt_tx.dont_wait_for_ack = (uint32_t)dont_wait_for_ack;
mgmt_tx.off_chan = (uint32_t)offchan;
mgmt_tx.buf = buf;
return qdf_status_to_os_return(
@@ -449,7 +452,7 @@ int wlan_cfg80211_mgmt_tx_cancel(struct wlan_objmgr_vdev *vdev,
wlan_vdev_obj_unlock(vdev);
if (!psoc) {
cfg80211_err("psoc handle is NULL");
return QDF_STATUS_E_INVAL;
return -EINVAL;
}
return qdf_status_to_os_return(