diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi-ops.h')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/wmi-ops.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi-ops.h b/drivers/net/wireless/ath/ath10k/wmi-ops.h index e8f49de18369..3a3d15e65e0a 100644 --- a/drivers/net/wireless/ath/ath10k/wmi-ops.h +++ b/drivers/net/wireless/ath/ath10k/wmi-ops.h | |||
@@ -126,6 +126,9 @@ struct wmi_ops { | |||
126 | struct sk_buff *(*gen_addba_set_resp)(struct ath10k *ar, u32 vdev_id, | 126 | struct sk_buff *(*gen_addba_set_resp)(struct ath10k *ar, u32 vdev_id, |
127 | const u8 *mac, u32 tid, | 127 | const u8 *mac, u32 tid, |
128 | u32 status); | 128 | u32 status); |
129 | struct sk_buff *(*gen_delba_send)(struct ath10k *ar, u32 vdev_id, | ||
130 | const u8 *mac, u32 tid, u32 initiator, | ||
131 | u32 reason); | ||
129 | }; | 132 | }; |
130 | 133 | ||
131 | int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); | 134 | int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); |
@@ -914,4 +917,22 @@ ath10k_wmi_addba_set_resp(struct ath10k *ar, u32 vdev_id, const u8 *mac, | |||
914 | ar->wmi.cmd->addba_set_resp_cmdid); | 917 | ar->wmi.cmd->addba_set_resp_cmdid); |
915 | } | 918 | } |
916 | 919 | ||
920 | static inline int | ||
921 | ath10k_wmi_delba_send(struct ath10k *ar, u32 vdev_id, const u8 *mac, | ||
922 | u32 tid, u32 initiator, u32 reason) | ||
923 | { | ||
924 | struct sk_buff *skb; | ||
925 | |||
926 | if (!ar->wmi.ops->gen_delba_send) | ||
927 | return -EOPNOTSUPP; | ||
928 | |||
929 | skb = ar->wmi.ops->gen_delba_send(ar, vdev_id, mac, tid, initiator, | ||
930 | reason); | ||
931 | if (IS_ERR(skb)) | ||
932 | return PTR_ERR(skb); | ||
933 | |||
934 | return ath10k_wmi_cmd_send(ar, skb, | ||
935 | ar->wmi.cmd->delba_send_cmdid); | ||
936 | } | ||
937 | |||
917 | #endif | 938 | #endif |