@@ -5635,15 +5635,15 @@ static s32 brcmf_notify_vif_event(struct brcmf_if *ifp,
5635
5635
ifevent -> action , ifevent -> flags , ifevent -> ifidx ,
5636
5636
ifevent -> bsscfgidx );
5637
5637
5638
- mutex_lock (& event -> vif_event_lock );
5638
+ spin_lock (& event -> vif_event_lock );
5639
5639
event -> action = ifevent -> action ;
5640
5640
vif = event -> vif ;
5641
5641
5642
5642
switch (ifevent -> action ) {
5643
5643
case BRCMF_E_IF_ADD :
5644
5644
/* waiting process may have timed out */
5645
5645
if (!cfg -> vif_event .vif ) {
5646
- mutex_unlock (& event -> vif_event_lock );
5646
+ spin_unlock (& event -> vif_event_lock );
5647
5647
return - EBADF ;
5648
5648
}
5649
5649
@@ -5654,24 +5654,24 @@ static s32 brcmf_notify_vif_event(struct brcmf_if *ifp,
5654
5654
ifp -> ndev -> ieee80211_ptr = & vif -> wdev ;
5655
5655
SET_NETDEV_DEV (ifp -> ndev , wiphy_dev (cfg -> wiphy ));
5656
5656
}
5657
- mutex_unlock (& event -> vif_event_lock );
5657
+ spin_unlock (& event -> vif_event_lock );
5658
5658
wake_up (& event -> vif_wq );
5659
5659
return 0 ;
5660
5660
5661
5661
case BRCMF_E_IF_DEL :
5662
- mutex_unlock (& event -> vif_event_lock );
5662
+ spin_unlock (& event -> vif_event_lock );
5663
5663
/* event may not be upon user request */
5664
5664
if (brcmf_cfg80211_vif_event_armed (cfg ))
5665
5665
wake_up (& event -> vif_wq );
5666
5666
return 0 ;
5667
5667
5668
5668
case BRCMF_E_IF_CHANGE :
5669
- mutex_unlock (& event -> vif_event_lock );
5669
+ spin_unlock (& event -> vif_event_lock );
5670
5670
wake_up (& event -> vif_wq );
5671
5671
return 0 ;
5672
5672
5673
5673
default :
5674
- mutex_unlock (& event -> vif_event_lock );
5674
+ spin_unlock (& event -> vif_event_lock );
5675
5675
break ;
5676
5676
}
5677
5677
return - EINVAL ;
@@ -5792,7 +5792,7 @@ static void wl_deinit_priv(struct brcmf_cfg80211_info *cfg)
5792
5792
static void init_vif_event (struct brcmf_cfg80211_vif_event * event )
5793
5793
{
5794
5794
init_waitqueue_head (& event -> vif_wq );
5795
- mutex_init (& event -> vif_event_lock );
5795
+ spin_lock_init (& event -> vif_event_lock );
5796
5796
}
5797
5797
5798
5798
static s32 brcmf_dongle_roam (struct brcmf_if * ifp )
@@ -6691,9 +6691,9 @@ static inline bool vif_event_equals(struct brcmf_cfg80211_vif_event *event,
6691
6691
{
6692
6692
u8 evt_action ;
6693
6693
6694
- mutex_lock (& event -> vif_event_lock );
6694
+ spin_lock (& event -> vif_event_lock );
6695
6695
evt_action = event -> action ;
6696
- mutex_unlock (& event -> vif_event_lock );
6696
+ spin_unlock (& event -> vif_event_lock );
6697
6697
return evt_action == action ;
6698
6698
}
6699
6699
@@ -6702,20 +6702,20 @@ void brcmf_cfg80211_arm_vif_event(struct brcmf_cfg80211_info *cfg,
6702
6702
{
6703
6703
struct brcmf_cfg80211_vif_event * event = & cfg -> vif_event ;
6704
6704
6705
- mutex_lock (& event -> vif_event_lock );
6705
+ spin_lock (& event -> vif_event_lock );
6706
6706
event -> vif = vif ;
6707
6707
event -> action = 0 ;
6708
- mutex_unlock (& event -> vif_event_lock );
6708
+ spin_unlock (& event -> vif_event_lock );
6709
6709
}
6710
6710
6711
6711
bool brcmf_cfg80211_vif_event_armed (struct brcmf_cfg80211_info * cfg )
6712
6712
{
6713
6713
struct brcmf_cfg80211_vif_event * event = & cfg -> vif_event ;
6714
6714
bool armed ;
6715
6715
6716
- mutex_lock (& event -> vif_event_lock );
6716
+ spin_lock (& event -> vif_event_lock );
6717
6717
armed = event -> vif != NULL ;
6718
- mutex_unlock (& event -> vif_event_lock );
6718
+ spin_unlock (& event -> vif_event_lock );
6719
6719
6720
6720
return armed ;
6721
6721
}
0 commit comments