aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c')
-rw-r--r--drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
index e7eaa57d11d9..63e98fd583ab 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
@@ -102,7 +102,8 @@ static void brcmf_fweh_queue_event(struct brcmf_fweh_info *fweh,
102 schedule_work(&fweh->event_work); 102 schedule_work(&fweh->event_work);
103} 103}
104 104
105static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp, 105static int brcmf_fweh_call_event_handler(struct brcmf_pub *drvr,
106 struct brcmf_if *ifp,
106 enum brcmf_fweh_event_code code, 107 enum brcmf_fweh_event_code code,
107 struct brcmf_event_msg *emsg, 108 struct brcmf_event_msg *emsg,
108 void *data) 109 void *data)
@@ -117,9 +118,9 @@ static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp,
117 if (fweh->evt_handler[code]) 118 if (fweh->evt_handler[code])
118 err = fweh->evt_handler[code](ifp, emsg, data); 119 err = fweh->evt_handler[code](ifp, emsg, data);
119 else 120 else
120 brcmf_err("unhandled event %d ignored\n", code); 121 bphy_err(drvr, "unhandled event %d ignored\n", code);
121 } else { 122 } else {
122 brcmf_err("no interface object\n"); 123 bphy_err(drvr, "no interface object\n");
123 } 124 }
124 return err; 125 return err;
125} 126}
@@ -158,7 +159,7 @@ static void brcmf_fweh_handle_if_event(struct brcmf_pub *drvr,
158 return; 159 return;
159 } 160 }
160 if (ifevent->ifidx >= BRCMF_MAX_IFS) { 161 if (ifevent->ifidx >= BRCMF_MAX_IFS) {
161 brcmf_err("invalid interface index: %u\n", ifevent->ifidx); 162 bphy_err(drvr, "invalid interface index: %u\n", ifevent->ifidx);
162 return; 163 return;
163 } 164 }
164 165
@@ -181,7 +182,8 @@ static void brcmf_fweh_handle_if_event(struct brcmf_pub *drvr,
181 if (ifp && ifevent->action == BRCMF_E_IF_CHANGE) 182 if (ifp && ifevent->action == BRCMF_E_IF_CHANGE)
182 brcmf_proto_reset_if(drvr, ifp); 183 brcmf_proto_reset_if(drvr, ifp);
183 184
184 err = brcmf_fweh_call_event_handler(ifp, emsg->event_code, emsg, data); 185 err = brcmf_fweh_call_event_handler(drvr, ifp, emsg->event_code, emsg,
186 data);
185 187
186 if (ifp && ifevent->action == BRCMF_E_IF_DEL) { 188 if (ifp && ifevent->action == BRCMF_E_IF_DEL) {
187 bool armed = brcmf_cfg80211_vif_event_armed(drvr->config); 189 bool armed = brcmf_cfg80211_vif_event_armed(drvr->config);
@@ -268,11 +270,11 @@ static void brcmf_fweh_event_worker(struct work_struct *work)
268 ifp = drvr->iflist[0]; 270 ifp = drvr->iflist[0];
269 else 271 else
270 ifp = drvr->iflist[emsg.bsscfgidx]; 272 ifp = drvr->iflist[emsg.bsscfgidx];
271 err = brcmf_fweh_call_event_handler(ifp, event->code, &emsg, 273 err = brcmf_fweh_call_event_handler(drvr, ifp, event->code,
272 event->data); 274 &emsg, event->data);
273 if (err) { 275 if (err) {
274 brcmf_err("event handler failed (%d)\n", 276 bphy_err(drvr, "event handler failed (%d)\n",
275 event->code); 277 event->code);
276 err = 0; 278 err = 0;
277 } 279 }
278event_free: 280event_free:
@@ -339,7 +341,7 @@ int brcmf_fweh_register(struct brcmf_pub *drvr, enum brcmf_fweh_event_code code,
339 brcmf_fweh_handler_t handler) 341 brcmf_fweh_handler_t handler)
340{ 342{
341 if (drvr->fweh.evt_handler[code]) { 343 if (drvr->fweh.evt_handler[code]) {
342 brcmf_err("event code %d already registered\n", code); 344 bphy_err(drvr, "event code %d already registered\n", code);
343 return -ENOSPC; 345 return -ENOSPC;
344 } 346 }
345 drvr->fweh.evt_handler[code] = handler; 347 drvr->fweh.evt_handler[code] = handler;
@@ -369,6 +371,7 @@ void brcmf_fweh_unregister(struct brcmf_pub *drvr,
369 */ 371 */
370int brcmf_fweh_activate_events(struct brcmf_if *ifp) 372int brcmf_fweh_activate_events(struct brcmf_if *ifp)
371{ 373{
374 struct brcmf_pub *drvr = ifp->drvr;
372 int i, err; 375 int i, err;
373 s8 eventmask[BRCMF_EVENTING_MASK_LEN]; 376 s8 eventmask[BRCMF_EVENTING_MASK_LEN];
374 377
@@ -388,7 +391,7 @@ int brcmf_fweh_activate_events(struct brcmf_if *ifp)
388 err = brcmf_fil_iovar_data_set(ifp, "event_msgs", 391 err = brcmf_fil_iovar_data_set(ifp, "event_msgs",
389 eventmask, BRCMF_EVENTING_MASK_LEN); 392 eventmask, BRCMF_EVENTING_MASK_LEN);
390 if (err) 393 if (err)
391 brcmf_err("Set event_msgs error (%d)\n", err); 394 bphy_err(drvr, "Set event_msgs error (%d)\n", err);
392 395
393 return err; 396 return err;
394} 397}