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

Commit a5c84b2f authored by Binoy Jayan's avatar Binoy Jayan Committed by Greg Kroah-Hartman
Browse files

staging: wilc1000: Change interface wilc_mq_send to wilc_enqueue_cmd



Replace the interface 'wilc_mq_send' with 'wilc_enqueue_cmd'
and remove the now unused structures 'message' and 'message_queue'.
Restructure switch statement in the work queue helper function
host_if_work and remove unwanted indentation.

Signed-off-by: default avatarBinoy Jayan <binoy.jayan@linaro.org>
Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2518ac59
Loading
Loading
Loading
Loading
+158 −175
Original line number Diff line number Diff line
@@ -60,20 +60,6 @@
#define TCP_ACK_FILTER_LINK_SPEED_THRESH	54
#define DEFAULT_LINK_SPEED			72

struct message {
	void *buf;
	u32 len;
	struct list_head list;
};

struct message_queue {
	struct semaphore sem;
	spinlock_t lock;
	bool exiting;
	u32 recv_count;
	struct list_head msg_list;
};

struct host_if_wpa_attr {
	u8 *key;
	const u8 *mac_addr;
@@ -247,7 +233,6 @@ static struct host_if_drv *terminated_handle;
bool wilc_optaining_ip;
static u8 P2P_LISTEN_STATE;
static struct workqueue_struct *hif_workqueue;
static struct message_queue hif_msg_q;
static struct completion hif_thread_comp;
static struct completion hif_driver_comp;
static struct completion hif_wait_response;
@@ -289,12 +274,11 @@ static void host_if_work(struct work_struct *work);
 *  @note		copied from FLO glue implementatuion
 *  @version		1.0
 */
static int wilc_mq_send(struct message_queue *mq,
			const void *send_buf, u32 send_buf_size)
static int wilc_enqueue_cmd(struct host_if_msg *msg)
{
	struct host_if_msg *new_msg;

	new_msg = kmemdup(send_buf, sizeof(*new_msg), GFP_ATOMIC);
	new_msg = kmemdup(msg, sizeof(*new_msg), GFP_ATOMIC);
	if (!new_msg)
		return -ENOMEM;

@@ -2386,7 +2370,7 @@ static void ListenTimerCB(unsigned long arg)
	msg.vif = vif;
	msg.body.remain_on_ch.id = vif->hif_drv->remain_on_ch.id;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");
}
@@ -2496,10 +2480,10 @@ static void host_if_work(struct work_struct *work)

	if (msg->id == HOST_IF_MSG_CONNECT &&
	    msg->vif->hif_drv->usr_scan_req.scan_result) {
		wilc_mq_send(&hif_msg_q, msg, sizeof(struct host_if_msg));
		wilc_enqueue_cmd(msg);
		usleep_range(2 * 1000, 2 * 1000);
	} else {

		goto free_msg;
	}
	switch (msg->id) {
	case HOST_IF_MSG_SCAN:
		handle_scan(msg->vif, &msg->body.scan_info);
@@ -2582,7 +2566,6 @@ static void host_if_work(struct work_struct *work)
		break;

	case HOST_IF_MSG_SCAN_TIMER_FIRED:

		Handle_ScanDone(msg->vif, SCAN_EVENT_ABORTED);
		break;

@@ -2649,7 +2632,7 @@ static void host_if_work(struct work_struct *work)
		netdev_err(msg->vif->ndev, "[Host Interface] undefined\n");
		break;
	}
	}
free_msg:
	kfree(msg);
	complete(&hif_thread_comp);
}
@@ -2663,7 +2646,7 @@ static void TimerCB_Scan(unsigned long arg)
	msg.vif = vif;
	msg.id = HOST_IF_MSG_SCAN_TIMER_FIRED;

	wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	wilc_enqueue_cmd(&msg);
}

static void TimerCB_Connect(unsigned long arg)
@@ -2675,7 +2658,7 @@ static void TimerCB_Connect(unsigned long arg)
	msg.vif = vif;
	msg.id = HOST_IF_MSG_CONNECT_TIMER_FIRED;

	wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	wilc_enqueue_cmd(&msg);
}

s32 wilc_remove_key(struct host_if_drv *hif_drv, const u8 *pu8StaAddress)
@@ -2710,7 +2693,7 @@ int wilc_remove_wep_key(struct wilc_vif *vif, u8 index)
	msg.vif = vif;
	msg.body.key_info.attr.wep.index = index;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "Request to remove WEP key\n");
	else
@@ -2739,7 +2722,7 @@ int wilc_set_wep_default_keyid(struct wilc_vif *vif, u8 index)
	msg.vif = vif;
	msg.body.key_info.attr.wep.index = index;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "Default key index\n");
	else
@@ -2773,7 +2756,7 @@ int wilc_add_wep_key_bss_sta(struct wilc_vif *vif, const u8 *key, u8 len,
	msg.body.key_info.attr.wep.key_len = len;
	msg.body.key_info.attr.wep.index = index;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "STA - WEP Key\n");
	wait_for_completion(&hif_drv->comp_test_key_block);
@@ -2808,7 +2791,7 @@ int wilc_add_wep_key_bss_ap(struct wilc_vif *vif, const u8 *key, u8 len,
	msg.body.key_info.attr.wep.mode = mode;
	msg.body.key_info.attr.wep.auth_type = auth_type;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);

	if (result)
		netdev_err(vif->ndev, "AP - WEP Key\n");
@@ -2864,7 +2847,7 @@ int wilc_add_ptk(struct wilc_vif *vif, const u8 *ptk, u8 ptk_key_len,
	msg.body.key_info.attr.wpa.mode = cipher_mode;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);

	if (result)
		netdev_err(vif->ndev, "PTK Key\n");
@@ -2933,7 +2916,7 @@ int wilc_add_rx_gtk(struct wilc_vif *vif, const u8 *rx_gtk, u8 gtk_key_len,
	msg.body.key_info.attr.wpa.key_len = key_len;
	msg.body.key_info.attr.wpa.seq_len = key_rsc_len;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "RX GTK\n");
	else
@@ -2963,7 +2946,7 @@ int wilc_set_pmkid_info(struct wilc_vif *vif,
		       &pmkid->pmkidlist[i].pmkid, PMKID_LEN);
	}

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "PMKID Info\n");

@@ -2981,7 +2964,7 @@ int wilc_get_mac_address(struct wilc_vif *vif, u8 *mac_addr)
	msg.body.get_mac_info.mac_addr = mac_addr;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "Failed to send get mac address\n");
		return -EFAULT;
@@ -3045,7 +3028,7 @@ int wilc_set_join_req(struct wilc_vif *vif, u8 *bssid, const u8 *ssid,
	if (hif_drv->hif_state < HOST_IF_CONNECTING)
		hif_drv->hif_state = HOST_IF_CONNECTING;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "send message: Set join request\n");
		return -EFAULT;
@@ -3074,7 +3057,7 @@ int wilc_disconnect(struct wilc_vif *vif, u16 reason_code)
	msg.id = HOST_IF_MSG_DISCONNECT;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "Failed to send message: disconnect\n");
	else
@@ -3118,7 +3101,7 @@ int wilc_set_mac_chnl_num(struct wilc_vif *vif, u8 channel)
	msg.body.channel_info.set_ch = channel;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "wilc mq send fail\n");
		return -EINVAL;
@@ -3138,7 +3121,7 @@ int wilc_set_wfi_drv_handler(struct wilc_vif *vif, int index, u8 mac_idx)
	msg.body.drv.mac_idx = mac_idx;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "wilc mq send fail\n");
		result = -EINVAL;
@@ -3157,7 +3140,7 @@ int wilc_set_operation_mode(struct wilc_vif *vif, u32 mode)
	msg.body.mode.mode = mode;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "wilc mq send fail\n");
		result = -EINVAL;
@@ -3184,7 +3167,7 @@ s32 wilc_get_inactive_time(struct wilc_vif *vif, const u8 *mac,
	msg.id = HOST_IF_MSG_GET_INACTIVETIME;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "Failed to send get host ch param\n");
	else
@@ -3205,7 +3188,7 @@ int wilc_get_rssi(struct wilc_vif *vif, s8 *rssi_level)
	msg.id = HOST_IF_MSG_GET_RSSI;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "Failed to send get host ch param\n");
		return -EFAULT;
@@ -3233,7 +3216,7 @@ int wilc_get_statistics(struct wilc_vif *vif, struct rf_info *stats)
	msg.body.data = (char *)stats;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "Failed to send get host channel\n");
		return -EFAULT;
@@ -3286,7 +3269,7 @@ int wilc_scan(struct wilc_vif *vif, u8 scan_source, u8 scan_type,
	if (!scan_info->ies)
		return -ENOMEM;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result) {
		netdev_err(vif->ndev, "Error in sending message queue\n");
		return -EINVAL;
@@ -3316,7 +3299,7 @@ int wilc_hif_set_cfg(struct wilc_vif *vif,
	msg.body.cfg_info = *cfg_param;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);

	return result;
}
@@ -3459,7 +3442,7 @@ int wilc_deinit(struct wilc_vif *vif)
		msg.id = HOST_IF_MSG_EXIT;
		msg.vif = vif;

		result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
		result = wilc_enqueue_cmd(&msg);
		if (result != 0)
			netdev_err(vif->ndev, "deinit : Error(%d)\n", result);
		else
@@ -3505,7 +3488,7 @@ void wilc_network_info_received(struct wilc *wilc, u8 *pu8Buffer,
	msg.body.net_info.buffer = kmalloc(u32Length, GFP_KERNEL);
	memcpy(msg.body.net_info.buffer, pu8Buffer, u32Length);

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "message parameters (%d)\n", result);
}
@@ -3550,7 +3533,7 @@ void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *pu8Buffer,
	msg.body.async_info.buffer = kmalloc(u32Length, GFP_KERNEL);
	memcpy(msg.body.async_info.buffer, pu8Buffer, u32Length);

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "synchronous info (%d)\n", result);

@@ -3581,7 +3564,7 @@ void wilc_scan_complete_received(struct wilc *wilc, u8 *pu8Buffer,
		msg.id = HOST_IF_MSG_RCVD_SCAN_COMPLETE;
		msg.vif = vif;

		result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
		result = wilc_enqueue_cmd(&msg);
		if (result)
			netdev_err(vif->ndev, "complete param (%d)\n", result);
	}
@@ -3607,7 +3590,7 @@ int wilc_remain_on_channel(struct wilc_vif *vif, u32 session_id,
	msg.body.remain_on_ch.id = session_id;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc mq send fail\n");

@@ -3632,7 +3615,7 @@ int wilc_listen_state_expired(struct wilc_vif *vif, u32 session_id)
	msg.vif = vif;
	msg.body.remain_on_ch.id = session_id;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc mq send fail\n");

@@ -3663,7 +3646,7 @@ int wilc_frame_register(struct wilc_vif *vif, u16 frame_type, bool reg)
	msg.body.reg_frame.reg = reg;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc mq send fail\n");

@@ -3701,7 +3684,7 @@ int wilc_add_beacon(struct wilc_vif *vif, u32 interval, u32 dtim_period,
		beacon_info->tail = NULL;
	}

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc mq send fail\n");

@@ -3723,7 +3706,7 @@ int wilc_del_beacon(struct wilc_vif *vif)
	msg.id = HOST_IF_MSG_DEL_BEACON;
	msg.vif = vif;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");

@@ -3750,7 +3733,7 @@ int wilc_add_station(struct wilc_vif *vif, struct add_sta_param *sta_param)
			return -ENOMEM;
	}

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");
	return result;
@@ -3772,7 +3755,7 @@ int wilc_del_station(struct wilc_vif *vif, const u8 *mac_addr)
	else
		memcpy(del_sta_info->mac_addr, mac_addr, ETH_ALEN);

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");
	return result;
@@ -3802,7 +3785,7 @@ int wilc_del_allstation(struct wilc_vif *vif, u8 mac_addr[][ETH_ALEN])
		return result;

	del_all_sta_info->assoc_sta = assoc_sta;
	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);

	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");
@@ -3833,7 +3816,7 @@ int wilc_edit_station(struct wilc_vif *vif,
			return -ENOMEM;
	}

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");

@@ -3857,7 +3840,7 @@ int wilc_set_power_mgmt(struct wilc_vif *vif, bool enabled, u32 timeout)
	pwr_mgmt_info->enabled = enabled;
	pwr_mgmt_info->timeout = timeout;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");
	return result;
@@ -3878,7 +3861,7 @@ int wilc_setup_multicast_filter(struct wilc_vif *vif, bool enabled,
	multicast_filter_param->enabled = enabled;
	multicast_filter_param->cnt = count;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");
	return result;
@@ -4051,7 +4034,7 @@ int wilc_setup_ipaddress(struct wilc_vif *vif, u8 *ip_addr, u8 idx)
	msg.vif = vif;
	msg.body.ip_info.idx = idx;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");

@@ -4071,7 +4054,7 @@ static int host_int_get_ipaddress(struct wilc_vif *vif, u8 *ip_addr, u8 idx)
	msg.vif = vif;
	msg.body.ip_info.idx = idx;

	result = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	result = wilc_enqueue_cmd(&msg);
	if (result)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");

@@ -4089,7 +4072,7 @@ int wilc_set_tx_power(struct wilc_vif *vif, u8 tx_power)
	msg.body.tx_power.tx_pwr = tx_power;
	msg.vif = vif;

	ret = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	ret = wilc_enqueue_cmd(&msg);
	if (ret)
		netdev_err(vif->ndev, "wilc_mq_send fail\n");

@@ -4106,7 +4089,7 @@ int wilc_get_tx_power(struct wilc_vif *vif, u8 *tx_power)
	msg.id = HOST_IF_MSG_GET_TX_POWER;
	msg.vif = vif;

	ret = wilc_mq_send(&hif_msg_q, &msg, sizeof(struct host_if_msg));
	ret = wilc_enqueue_cmd(&msg);
	if (ret)
		netdev_err(vif->ndev, "Failed to get TX PWR\n");