提交 201d7a38 编写于 作者: R Roland Vossen 提交者: Greg Kroah-Hartman

staging: brcm80211: removed two fullmac sparse spinlock warnings

By deleting three redundant functions. The spinlock was related to
event queue operation. Event queue data members were also renamed
to make their function more clear.
Reported-by: NJohannes Berg <johannes@sipsolutions.net>
Reviewed-by: NArend van Spriel <arend@broadcom.com>
Reviewed-by: NFranky Lin <frankyl@broadcom.com>
Signed-off-by: NFranky Lin <frankyl@broadcom.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 191e2bec
......@@ -3181,21 +3181,6 @@ static s32 brcmf_init_priv_mem(struct brcmf_cfg80211_priv *cfg_priv)
return -ENOMEM;
}
static void brcmf_lock_eq(struct brcmf_cfg80211_priv *cfg_priv)
{
spin_lock_irq(&cfg_priv->eq_lock);
}
static void brcmf_unlock_eq(struct brcmf_cfg80211_priv *cfg_priv)
{
spin_unlock_irq(&cfg_priv->eq_lock);
}
static void brcmf_init_eq_lock(struct brcmf_cfg80211_priv *cfg_priv)
{
spin_lock_init(&cfg_priv->eq_lock);
}
/*
* retrieve first queued event from head
*/
......@@ -3205,13 +3190,13 @@ static struct brcmf_cfg80211_event_q *brcmf_deq_event(
{
struct brcmf_cfg80211_event_q *e = NULL;
brcmf_lock_eq(cfg_priv);
if (likely(!list_empty(&cfg_priv->eq_list))) {
e = list_first_entry(&cfg_priv->eq_list,
struct brcmf_cfg80211_event_q, eq_list);
list_del(&e->eq_list);
spin_lock_irq(&cfg_priv->evt_q_lock);
if (likely(!list_empty(&cfg_priv->evt_q_list))) {
e = list_first_entry(&cfg_priv->evt_q_list,
struct brcmf_cfg80211_event_q, evt_q_list);
list_del(&e->evt_q_list);
}
brcmf_unlock_eq(cfg_priv);
spin_unlock_irq(&cfg_priv->evt_q_lock);
return e;
}
......@@ -3236,9 +3221,9 @@ brcmf_enq_event(struct brcmf_cfg80211_priv *cfg_priv, u32 event,
e->etype = event;
memcpy(&e->emsg, msg, sizeof(struct brcmf_event_msg));
brcmf_lock_eq(cfg_priv);
list_add_tail(&e->eq_list, &cfg_priv->eq_list);
brcmf_unlock_eq(cfg_priv);
spin_lock_irq(&cfg_priv->evt_q_lock);
list_add_tail(&e->evt_q_list, &cfg_priv->evt_q_list);
spin_unlock_irq(&cfg_priv->evt_q_lock);
return err;
}
......@@ -3276,22 +3261,22 @@ static void brcmf_cfg80211_event_handler(struct work_struct *work)
static void brcmf_init_eq(struct brcmf_cfg80211_priv *cfg_priv)
{
brcmf_init_eq_lock(cfg_priv);
INIT_LIST_HEAD(&cfg_priv->eq_list);
spin_lock_init(&cfg_priv->evt_q_lock);
INIT_LIST_HEAD(&cfg_priv->evt_q_list);
}
static void brcmf_flush_eq(struct brcmf_cfg80211_priv *cfg_priv)
{
struct brcmf_cfg80211_event_q *e;
brcmf_lock_eq(cfg_priv);
while (!list_empty(&cfg_priv->eq_list)) {
e = list_first_entry(&cfg_priv->eq_list,
struct brcmf_cfg80211_event_q, eq_list);
list_del(&e->eq_list);
spin_lock_irq(&cfg_priv->evt_q_lock);
while (!list_empty(&cfg_priv->evt_q_list)) {
e = list_first_entry(&cfg_priv->evt_q_list,
struct brcmf_cfg80211_event_q, evt_q_list);
list_del(&e->evt_q_list);
kfree(e);
}
brcmf_unlock_eq(cfg_priv);
spin_unlock_irq(&cfg_priv->evt_q_lock);
}
static s32 wl_init_priv(struct brcmf_cfg80211_priv *cfg_priv)
......
......@@ -199,7 +199,7 @@ struct brcmf_cfg80211_ie {
/* event queue for cfg80211 main event */
struct brcmf_cfg80211_event_q {
struct list_head eq_list;
struct list_head evt_q_list;
u32 etype;
struct brcmf_event_msg emsg;
s8 edata[1];
......@@ -282,8 +282,8 @@ struct brcmf_cfg80211_priv {
struct cfg80211_scan_request *scan_request; /* scan request
object */
struct brcmf_cfg80211_event_loop el; /* main event loop */
struct list_head eq_list; /* used for event queue */
spinlock_t eq_lock; /* for event queue synchronization */
struct list_head evt_q_list; /* used for event queue */
spinlock_t evt_q_lock; /* for event queue synchronization */
struct mutex usr_sync; /* maily for dongle up/down synchronization */
struct brcmf_scan_results *bss_list; /* bss_list holding scanned
ap information */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册