{
struct hostapd_data *hapd = ctx;
- gas_serv_req_dpp_processing(hapd, addr, dialog_token, prot, buf);
+ gas_serv_req_dpp_processing(hapd, addr, dialog_token, prot, buf, 0);
}
#endif /* CONFIG_DPP2 */
#ifdef CONFIG_DPP
void gas_serv_req_dpp_processing(struct hostapd_data *hapd,
const u8 *sa, u8 dialog_token,
- int prot, struct wpabuf *buf)
+ int prot, struct wpabuf *buf, int freq)
{
struct wpabuf *tx_buf;
return;
if (prot)
convert_to_protected_dual(tx_buf);
- hostapd_drv_send_action(hapd, hapd->iface->freq, 0, sa,
+ hostapd_drv_send_action(hapd, freq ? freq : hapd->iface->freq, 0, sa,
wpabuf_head(tx_buf),
wpabuf_len(tx_buf));
wpabuf_free(tx_buf);
static void gas_serv_rx_gas_initial_req(struct hostapd_data *hapd,
const u8 *sa,
const u8 *data, size_t len, int prot,
- int std_addr3)
+ int std_addr3, int freq)
{
const u8 *pos = data;
const u8 *end = data + len;
data, len);
if (!msg)
return;
- gas_serv_req_dpp_processing(hapd, sa, dialog_token, prot, msg);
+ gas_serv_req_dpp_processing(hapd, sa, dialog_token, prot, msg,
+ freq);
return;
}
#endif /* CONFIG_DPP */
switch (data[0]) {
case WLAN_PA_GAS_INITIAL_REQ:
gas_serv_rx_gas_initial_req(hapd, sa, data + 1, len - 1, prot,
- std_addr3);
+ std_addr3, freq);
break;
case WLAN_PA_GAS_COMEBACK_REQ:
gas_serv_rx_gas_comeback_req(hapd, sa, data + 1, len - 1, prot,
void gas_serv_req_dpp_processing(struct hostapd_data *hapd,
const u8 *sa, u8 dialog_token,
- int prot, struct wpabuf *buf);
+ int prot, struct wpabuf *buf, int freq);
#endif /* GAS_SERV_H */