--- a/main.h
+++ b/main.h
@@ -44,8 +44,11 @@ void acx_process_rxbuf(acx_device_t *ade
 
 #if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(2, 6, 39)
 int acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb);
-#else
+#elif CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0)
 void acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb);
+#else
+void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
+	       struct sk_buff *skb);
 #endif
 
 
--- a/main.c
+++ b/main.c
@@ -1024,7 +1024,12 @@ out:
  * acx_compat, and hiding this #if/else.  OTOH, inclusion doesnt care
  * about old kernels
  */
+#if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0)
 OP_TX_RET_TYPE acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+#else
+void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
+	       struct sk_buff *skb)
+#endif
 {
 	acx_device_t *adev = ieee2adev(hw);
 
