diff options
author | Sara Sharon | 2015-07-13 13:50:47 +0200 |
---|---|---|
committer | Emmanuel Grumbach | 2015-08-04 20:29:35 +0200 |
commit | 6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9 (patch) | |
tree | bd8fc8d1d891fa398a0b396af29665f07eca530a /drivers/net/wireless/iwlwifi/iwl-notif-wait.c | |
parent | iwlwifi: make various functions void in the file rs.c (diff) | |
download | kernel-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.c | 8 |
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; |