Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 921a91ef authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

[PATCH] softmac: clean up event handling code



This patch cleans up the event handling code in ieee80211softmac_event.c and
makes the module slightly smaller by removing some strings that are not used
any more and consolidating some code.

Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9a1771e8
Loading
Loading
Loading
Loading
+10 −15
Original line number Diff line number Diff line
@@ -38,7 +38,8 @@
 * The event context is private and can only be used from
 * within this module. Its meaning varies with the event
 * type:
 *  SCAN_FINISHED:	no special meaning
 *  SCAN_FINISHED,
 *  DISASSOCIATED:	NULL
 *  ASSOCIATED,
 *  ASSOCIATE_FAILED,
 *  ASSOCIATE_TIMEOUT,
@@ -59,15 +60,15 @@
 */

static char *event_descriptions[IEEE80211SOFTMAC_EVENT_LAST+1] = {
	"scan finished",
	"associated",
	NULL, /* scan finished */
	NULL, /* associated */
	"associating failed",
	"associating timed out",
	"authenticated",
	"authenticating failed",
	"authenticating timed out",
	"associating failed because no suitable network was found",
	"disassociated",
	NULL, /* disassociated */
};


@@ -136,30 +137,24 @@ ieee80211softmac_call_events_locked(struct ieee80211softmac_device *mac, int eve
		int we_event;
		char *msg = NULL;

		memset(&wrqu, '\0', sizeof (union iwreq_data));

		switch(event) {
		case IEEE80211SOFTMAC_EVENT_ASSOCIATED:
			network = (struct ieee80211softmac_network *)event_ctx;
			wrqu.data.length = 0;
			wrqu.data.flags = 0;
			memcpy(wrqu.ap_addr.sa_data, &network->bssid[0], ETH_ALEN);
			wrqu.ap_addr.sa_family = ARPHRD_ETHER;
			we_event = SIOCGIWAP;
			break;
			/* fall through */
		case IEEE80211SOFTMAC_EVENT_DISASSOCIATED:
			wrqu.data.length = 0;
			wrqu.data.flags = 0;
			memset(&wrqu, '\0', sizeof (union iwreq_data));
			wrqu.ap_addr.sa_family = ARPHRD_ETHER;
			we_event = SIOCGIWAP;
			break;
		case IEEE80211SOFTMAC_EVENT_SCAN_FINISHED:
			wrqu.data.length = 0;
			wrqu.data.flags = 0;
			memset(&wrqu, '\0', sizeof (union iwreq_data));
			we_event = SIOCGIWSCAN;
			break;
		default:
			msg = event_descriptions[event];
			if (!msg)
				msg = "SOFTMAC EVENT BUG";
			wrqu.data.length = strlen(msg);
			we_event = IWEVCUSTOM;
			break;