diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2014-06-05 07:52:23 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-06-19 15:49:14 -0400 |
commit | 283dafa1c69475596701da7767df471c0a71d8fb (patch) | |
tree | b6f11ab5c0c8fdb540a3dbadae0593519d37407e /drivers/net/wireless/rt2x00/rt2x00queue.c | |
parent | 7d8831bb1bfbf8db896bfc1de9d0b3bc7a8e60f0 (diff) |
rt2x00: change beaconing locking
This patch is needed for further changes to keep global variables
consistent when changing beaconing on diffrent vif's.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00queue.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00queue.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c index 5642ccceca7c..8e68f87ab13c 100644 --- a/drivers/net/wireless/rt2x00/rt2x00queue.c +++ b/drivers/net/wireless/rt2x00/rt2x00queue.c | |||
@@ -754,8 +754,6 @@ int rt2x00queue_clear_beacon(struct rt2x00_dev *rt2x00dev, | |||
754 | if (unlikely(!intf->beacon)) | 754 | if (unlikely(!intf->beacon)) |
755 | return -ENOBUFS; | 755 | return -ENOBUFS; |
756 | 756 | ||
757 | mutex_lock(&intf->beacon_skb_mutex); | ||
758 | |||
759 | /* | 757 | /* |
760 | * Clean up the beacon skb. | 758 | * Clean up the beacon skb. |
761 | */ | 759 | */ |
@@ -768,13 +766,11 @@ int rt2x00queue_clear_beacon(struct rt2x00_dev *rt2x00dev, | |||
768 | if (rt2x00dev->ops->lib->clear_beacon) | 766 | if (rt2x00dev->ops->lib->clear_beacon) |
769 | rt2x00dev->ops->lib->clear_beacon(intf->beacon); | 767 | rt2x00dev->ops->lib->clear_beacon(intf->beacon); |
770 | 768 | ||
771 | mutex_unlock(&intf->beacon_skb_mutex); | ||
772 | |||
773 | return 0; | 769 | return 0; |
774 | } | 770 | } |
775 | 771 | ||
776 | int rt2x00queue_update_beacon_locked(struct rt2x00_dev *rt2x00dev, | 772 | int rt2x00queue_update_beacon(struct rt2x00_dev *rt2x00dev, |
777 | struct ieee80211_vif *vif) | 773 | struct ieee80211_vif *vif) |
778 | { | 774 | { |
779 | struct rt2x00_intf *intf = vif_to_intf(vif); | 775 | struct rt2x00_intf *intf = vif_to_intf(vif); |
780 | struct skb_frame_desc *skbdesc; | 776 | struct skb_frame_desc *skbdesc; |
@@ -815,19 +811,6 @@ int rt2x00queue_update_beacon_locked(struct rt2x00_dev *rt2x00dev, | |||
815 | 811 | ||
816 | } | 812 | } |
817 | 813 | ||
818 | int rt2x00queue_update_beacon(struct rt2x00_dev *rt2x00dev, | ||
819 | struct ieee80211_vif *vif) | ||
820 | { | ||
821 | struct rt2x00_intf *intf = vif_to_intf(vif); | ||
822 | int ret; | ||
823 | |||
824 | mutex_lock(&intf->beacon_skb_mutex); | ||
825 | ret = rt2x00queue_update_beacon_locked(rt2x00dev, vif); | ||
826 | mutex_unlock(&intf->beacon_skb_mutex); | ||
827 | |||
828 | return ret; | ||
829 | } | ||
830 | |||
831 | bool rt2x00queue_for_each_entry(struct data_queue *queue, | 814 | bool rt2x00queue_for_each_entry(struct data_queue *queue, |
832 | enum queue_index start, | 815 | enum queue_index start, |
833 | enum queue_index end, | 816 | enum queue_index end, |