summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-notif-wait.c
diff options
context:
space:
mode:
authorSara Sharon2015-07-13 13:50:47 +0200
committerEmmanuel Grumbach2015-08-04 20:29:35 +0200
commit6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9 (patch)
treebd8fc8d1d891fa398a0b396af29665f07eca530a /drivers/net/wireless/iwlwifi/iwl-notif-wait.c
parentiwlwifi: make various functions void in the file rs.c (diff)
downloadkernel-qcow2-linux-6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9.tar.gz
kernel-qcow2-linux-6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9.tar.xz
kernel-qcow2-linux-6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9.zip
iwlwifi: add wide firmware command support for notifications
Add support for extended command id in notification system. Extended command id header contains group id in addition to command id. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-notif-wait.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-notif-wait.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-notif-wait.c b/drivers/net/wireless/iwlwifi/iwl-notif-wait.c
index b5bc959b1dfe..6caf2affbbb5 100644
--- a/drivers/net/wireless/iwlwifi/iwl-notif-wait.c
+++ b/drivers/net/wireless/iwlwifi/iwl-notif-wait.c
@@ -6,6 +6,7 @@
* GPL LICENSE SUMMARY
*
* Copyright(c) 2007 - 2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2015 Intel Deutschland GmbH
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
@@ -98,7 +99,8 @@ void iwl_notification_wait_notify(struct iwl_notif_wait_data *notif_wait,
continue;
for (i = 0; i < w->n_cmds; i++) {
- if (w->cmds[i] == pkt->hdr.cmd) {
+ if (w->cmds[i] ==
+ WIDE_ID(pkt->hdr.group_id, pkt->hdr.cmd)) {
found = true;
break;
}
@@ -136,7 +138,7 @@ IWL_EXPORT_SYMBOL(iwl_abort_notification_waits);
void
iwl_init_notification_wait(struct iwl_notif_wait_data *notif_wait,
struct iwl_notification_wait *wait_entry,
- const u8 *cmds, int n_cmds,
+ const u16 *cmds, int n_cmds,
bool (*fn)(struct iwl_notif_wait_data *notif_wait,
struct iwl_rx_packet *pkt, void *data),
void *fn_data)
@@ -147,7 +149,7 @@ iwl_init_notification_wait(struct iwl_notif_wait_data *notif_wait,
wait_entry->fn = fn;
wait_entry->fn_data = fn_data;
wait_entry->n_cmds = n_cmds;
- memcpy(wait_entry->cmds, cmds, n_cmds);
+ memcpy(wait_entry->cmds, cmds, n_cmds * sizeof(u16));
wait_entry->triggered = false;
wait_entry->aborted = false;