qtnfmac: pass VIF info to SendChannel command
Do not assume whether wireless device can or can not handle switching several interfaces on a single radio to different channels. Device will handle it itself and will return appropriate error code. Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
3656ab0fef
commit
8c015b9067
|
@ -846,7 +846,7 @@ static int qtnf_channel_switch(struct wiphy *wiphy, struct net_device *dev,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = qtnf_cmd_send_chan_switch(mac, params);
|
||||
ret = qtnf_cmd_send_chan_switch(vif, params);
|
||||
if (ret)
|
||||
pr_warn("%s: failed to switch to channel (%u)\n",
|
||||
dev->name, params->chandef.chan->hw_value);
|
||||
|
|
|
@ -2306,15 +2306,16 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
int qtnf_cmd_send_chan_switch(struct qtnf_wmac *mac,
|
||||
int qtnf_cmd_send_chan_switch(struct qtnf_vif *vif,
|
||||
struct cfg80211_csa_settings *params)
|
||||
{
|
||||
struct qtnf_wmac *mac = vif->mac;
|
||||
struct qlink_cmd_chan_switch *cmd;
|
||||
struct sk_buff *cmd_skb;
|
||||
u16 res_code = QLINK_CMD_RESULT_OK;
|
||||
int ret;
|
||||
|
||||
cmd_skb = qtnf_cmd_alloc_new_cmdskb(mac->macid, 0x0,
|
||||
cmd_skb = qtnf_cmd_alloc_new_cmdskb(mac->macid, vif->vifid,
|
||||
QLINK_CMD_CHAN_SWITCH,
|
||||
sizeof(*cmd));
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ int qtnf_cmd_send_updown_intf(struct qtnf_vif *vif,
|
|||
int qtnf_cmd_reg_notify(struct qtnf_bus *bus, struct regulatory_request *req);
|
||||
int qtnf_cmd_get_chan_stats(struct qtnf_wmac *mac, u16 channel,
|
||||
struct qtnf_chan_stats *stats);
|
||||
int qtnf_cmd_send_chan_switch(struct qtnf_wmac *mac,
|
||||
int qtnf_cmd_send_chan_switch(struct qtnf_vif *vif,
|
||||
struct cfg80211_csa_settings *params);
|
||||
int qtnf_cmd_get_channel(struct qtnf_vif *vif, struct cfg80211_chan_def *chdef);
|
||||
|
||||
|
|
Loading…
Reference in New Issue