diff options
Diffstat (limited to 'net/mac80211/driver-ops.h')
-rw-r--r-- | net/mac80211/driver-ops.h | 67 |
1 files changed, 62 insertions, 5 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index 98d589960a49..9c0d62bb0ea3 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
@@ -5,9 +5,9 @@ | |||
5 | #include "ieee80211_i.h" | 5 | #include "ieee80211_i.h" |
6 | #include "driver-trace.h" | 6 | #include "driver-trace.h" |
7 | 7 | ||
8 | static inline int drv_tx(struct ieee80211_local *local, struct sk_buff *skb) | 8 | static inline void drv_tx(struct ieee80211_local *local, struct sk_buff *skb) |
9 | { | 9 | { |
10 | return local->ops->tx(&local->hw, skb); | 10 | local->ops->tx(&local->hw, skb); |
11 | } | 11 | } |
12 | 12 | ||
13 | static inline int drv_start(struct ieee80211_local *local) | 13 | static inline int drv_start(struct ieee80211_local *local) |
@@ -382,17 +382,17 @@ static inline int drv_ampdu_action(struct ieee80211_local *local, | |||
382 | struct ieee80211_sub_if_data *sdata, | 382 | struct ieee80211_sub_if_data *sdata, |
383 | enum ieee80211_ampdu_mlme_action action, | 383 | enum ieee80211_ampdu_mlme_action action, |
384 | struct ieee80211_sta *sta, u16 tid, | 384 | struct ieee80211_sta *sta, u16 tid, |
385 | u16 *ssn) | 385 | u16 *ssn, u8 buf_size) |
386 | { | 386 | { |
387 | int ret = -EOPNOTSUPP; | 387 | int ret = -EOPNOTSUPP; |
388 | 388 | ||
389 | might_sleep(); | 389 | might_sleep(); |
390 | 390 | ||
391 | trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn); | 391 | trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn, buf_size); |
392 | 392 | ||
393 | if (local->ops->ampdu_action) | 393 | if (local->ops->ampdu_action) |
394 | ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, | 394 | ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, |
395 | sta, tid, ssn); | 395 | sta, tid, ssn, buf_size); |
396 | 396 | ||
397 | trace_drv_return_int(local, ret); | 397 | trace_drv_return_int(local, ret); |
398 | 398 | ||
@@ -495,4 +495,61 @@ static inline int drv_cancel_remain_on_channel(struct ieee80211_local *local) | |||
495 | return ret; | 495 | return ret; |
496 | } | 496 | } |
497 | 497 | ||
498 | static inline int drv_offchannel_tx(struct ieee80211_local *local, | ||
499 | struct sk_buff *skb, | ||
500 | struct ieee80211_channel *chan, | ||
501 | enum nl80211_channel_type channel_type, | ||
502 | unsigned int wait) | ||
503 | { | ||
504 | int ret; | ||
505 | |||
506 | might_sleep(); | ||
507 | |||
508 | trace_drv_offchannel_tx(local, skb, chan, channel_type, wait); | ||
509 | ret = local->ops->offchannel_tx(&local->hw, skb, chan, | ||
510 | channel_type, wait); | ||
511 | trace_drv_return_int(local, ret); | ||
512 | |||
513 | return ret; | ||
514 | } | ||
515 | |||
516 | static inline int drv_offchannel_tx_cancel_wait(struct ieee80211_local *local) | ||
517 | { | ||
518 | int ret; | ||
519 | |||
520 | might_sleep(); | ||
521 | |||
522 | trace_drv_offchannel_tx_cancel_wait(local); | ||
523 | ret = local->ops->offchannel_tx_cancel_wait(&local->hw); | ||
524 | trace_drv_return_int(local, ret); | ||
525 | |||
526 | return ret; | ||
527 | } | ||
528 | |||
529 | static inline int drv_set_ringparam(struct ieee80211_local *local, | ||
530 | u32 tx, u32 rx) | ||
531 | { | ||
532 | int ret = -ENOTSUPP; | ||
533 | |||
534 | might_sleep(); | ||
535 | |||
536 | trace_drv_set_ringparam(local, tx, rx); | ||
537 | if (local->ops->set_ringparam) | ||
538 | ret = local->ops->set_ringparam(&local->hw, tx, rx); | ||
539 | trace_drv_return_int(local, ret); | ||
540 | |||
541 | return ret; | ||
542 | } | ||
543 | |||
544 | static inline void drv_get_ringparam(struct ieee80211_local *local, | ||
545 | u32 *tx, u32 *tx_max, u32 *rx, u32 *rx_max) | ||
546 | { | ||
547 | might_sleep(); | ||
548 | |||
549 | trace_drv_get_ringparam(local, tx, tx_max, rx, rx_max); | ||
550 | if (local->ops->get_ringparam) | ||
551 | local->ops->get_ringparam(&local->hw, tx, tx_max, rx, rx_max); | ||
552 | trace_drv_return_void(local); | ||
553 | } | ||
554 | |||
498 | #endif /* __MAC80211_DRIVER_OPS */ | 555 | #endif /* __MAC80211_DRIVER_OPS */ |