Skip to content

Commit

Permalink
libertas: move mic failure event to wext.c
Browse files Browse the repository at this point in the history
... because for cfg80211 we'll need a completely different
implementation.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Holger Schurig authored and John W. Linville committed Oct 27, 2009
1 parent fea2b8e commit 560c633
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 30 deletions.
30 changes: 2 additions & 28 deletions drivers/net/wireless/libertas/cmdresp.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,32 +73,6 @@ void lbs_mac_event_disconnected(struct lbs_private *priv)
lbs_deb_leave(LBS_DEB_ASSOC);
}

/**
* @brief This function handles MIC failure event.
*
* @param priv A pointer to struct lbs_private structure
* @para event the event id
* @return n/a
*/
static void handle_mic_failureevent(struct lbs_private *priv, u32 event)
{
char buf[50];

lbs_deb_enter(LBS_DEB_CMD);
memset(buf, 0, sizeof(buf));

sprintf(buf, "%s", "MLME-MICHAELMICFAILURE.indication ");

if (event == MACREG_INT_CODE_MIC_ERR_UNICAST) {
strcat(buf, "unicast ");
} else {
strcat(buf, "multicast ");
}

lbs_send_iwevcustom_event(priv, buf);
lbs_deb_leave(LBS_DEB_CMD);
}

static int lbs_ret_reg_access(struct lbs_private *priv,
u16 type, struct cmd_ds_command *resp)
{
Expand Down Expand Up @@ -477,12 +451,12 @@ int lbs_process_event(struct lbs_private *priv, u32 event)

case MACREG_INT_CODE_MIC_ERR_UNICAST:
lbs_deb_cmd("EVENT: UNICAST MIC ERROR\n");
handle_mic_failureevent(priv, MACREG_INT_CODE_MIC_ERR_UNICAST);
lbs_send_mic_failureevent(priv, event);
break;

case MACREG_INT_CODE_MIC_ERR_MULTICAST:
lbs_deb_cmd("EVENT: MULTICAST MIC ERROR\n");
handle_mic_failureevent(priv, MACREG_INT_CODE_MIC_ERR_MULTICAST);
lbs_send_mic_failureevent(priv, event);
break;

case MACREG_INT_CODE_MIB_CHANGED:
Expand Down
27 changes: 26 additions & 1 deletion drivers/net/wireless/libertas/wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ void lbs_send_disconnect_notification(struct lbs_private *priv)
wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
}

void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str)
static void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str)
{
union iwreq_data iwrq;
u8 buf[50];
Expand All @@ -78,6 +78,31 @@ void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str)
lbs_deb_leave(LBS_DEB_WEXT);
}

/**
* @brief This function handles MIC failure event.
*
* @param priv A pointer to struct lbs_private structure
* @para event the event id
* @return n/a
*/
void lbs_send_mic_failureevent(struct lbs_private *priv, u32 event)
{
char buf[50];

lbs_deb_enter(LBS_DEB_CMD);
memset(buf, 0, sizeof(buf));

sprintf(buf, "%s", "MLME-MICHAELMICFAILURE.indication ");

if (event == MACREG_INT_CODE_MIC_ERR_UNICAST)
strcat(buf, "unicast ");
else
strcat(buf, "multicast ");

lbs_send_iwevcustom_event(priv, buf);
lbs_deb_leave(LBS_DEB_CMD);
}

/**
* @brief Find the channel frequency power info with specific channel
*
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/libertas/wext.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define _LBS_WEXT_H_

void lbs_send_disconnect_notification(struct lbs_private *priv);
void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str);
void lbs_send_mic_failureevent(struct lbs_private *priv, u32 event);

extern struct iw_handler_def lbs_handler_def;
extern struct iw_handler_def mesh_handler_def;
Expand Down

0 comments on commit 560c633

Please sign in to comment.