|
@@ -3308,6 +3308,7 @@ brcmf_enq_event(struct brcmf_cfg80211_priv *cfg_priv, u32 event,
|
|
|
{
|
|
|
struct brcmf_cfg80211_event_q *e;
|
|
|
s32 err = 0;
|
|
|
+ ulong flags;
|
|
|
|
|
|
e = kzalloc(sizeof(struct brcmf_cfg80211_event_q), GFP_ATOMIC);
|
|
|
if (!e)
|
|
@@ -3316,9 +3317,9 @@ brcmf_enq_event(struct brcmf_cfg80211_priv *cfg_priv, u32 event,
|
|
|
e->etype = event;
|
|
|
memcpy(&e->emsg, msg, sizeof(struct brcmf_event_msg));
|
|
|
|
|
|
- spin_lock_irq(&cfg_priv->evt_q_lock);
|
|
|
+ spin_lock_irqsave(&cfg_priv->evt_q_lock, flags);
|
|
|
list_add_tail(&e->evt_q_list, &cfg_priv->evt_q_list);
|
|
|
- spin_unlock_irq(&cfg_priv->evt_q_lock);
|
|
|
+ spin_unlock_irqrestore(&cfg_priv->evt_q_lock, flags);
|
|
|
|
|
|
return err;
|
|
|
}
|