Commit 560c6338 authored by Holger Schurig's avatar Holger Schurig Committed by John W. Linville
Browse files

libertas: move mic failure event to wext.c



... because for cfg80211 we'll need a completely different
implementation.

Signed-off-by: default avatarHolger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent fea2b8ec
Loading
Loading
Loading
Loading
+2 −28
Original line number Diff line number Diff line
@@ -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)
{
@@ -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:
+26 −1
Original line number Diff line number Diff line
@@ -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];
@@ -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
 *
+1 −1
Original line number Diff line number Diff line
@@ -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;