|
@@ -535,6 +535,8 @@ static char *p2p_get_frame_type_str(struct p2p_frame_info *frame_info)
|
|
return "Invalid P2P command";
|
|
return "Invalid P2P command";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (frame_info->action_type == P2P_ACTION_PRESENCE_REQ)
|
|
|
|
+ return "P2P action presence request";
|
|
if (frame_info->action_type == P2P_ACTION_PRESENCE_RSP)
|
|
if (frame_info->action_type == P2P_ACTION_PRESENCE_RSP)
|
|
return "P2P action presence response";
|
|
return "P2P action presence response";
|
|
|
|
|
|
@@ -651,6 +653,9 @@ static QDF_STATUS p2p_get_frame_info(uint8_t *data_buf, uint32_t length,
|
|
buf = data_buf +
|
|
buf = data_buf +
|
|
P2P_ACTION_FRAME_TYPE_OFFSET;
|
|
P2P_ACTION_FRAME_TYPE_OFFSET;
|
|
action_type = buf[0];
|
|
action_type = buf[0];
|
|
|
|
+ if (action_type == P2P_ACTION_PRESENCE_REQ)
|
|
|
|
+ frame_info->action_type =
|
|
|
|
+ P2P_ACTION_PRESENCE_REQ;
|
|
if (action_type == P2P_ACTION_PRESENCE_RSP)
|
|
if (action_type == P2P_ACTION_PRESENCE_RSP)
|
|
frame_info->action_type =
|
|
frame_info->action_type =
|
|
P2P_ACTION_PRESENCE_RSP;
|
|
P2P_ACTION_PRESENCE_RSP;
|
|
@@ -1631,6 +1636,10 @@ QDF_STATUS p2p_process_rx_mgmt(
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (rx_mgmt->frm_type == MGMT_ACTION_CATEGORY_VENDOR_SPECIFIC)
|
|
|
|
+ p2p_get_frame_info(rx_mgmt->buf, rx_mgmt->frame_len,
|
|
|
|
+ &frame_info);
|
|
|
|
+
|
|
start_param = p2p_soc_obj->start_param;
|
|
start_param = p2p_soc_obj->start_param;
|
|
if (start_param->rx_cb)
|
|
if (start_param->rx_cb)
|
|
start_param->rx_cb(start_param->rx_cb_data, rx_mgmt);
|
|
start_param->rx_cb(start_param->rx_cb_data, rx_mgmt);
|