aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-07-10 23:53:34 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-07-14 14:52:58 -0400
commit1ff50bda6eef4466366e197541508fc69af0f0c0 (patch)
tree79499aa72caab98d52cb95602eb64d08b24c4ed4 /drivers/net/wireless/iwlwifi/iwl-dev.h
parent6c5379077f47f6eff9c23caf8513751d2f582e72 (diff)
iwlwifi: make iwl4965_mac_conf_tx in atomic context
This patch fixes iwl4965_mac_conf_tx. A mutex was taken in atomic context leading to Oops. This patch removes the mutex and extends the hold priv->lock. None of the field of QOS is accessed without priv->lock held. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 81a57cb2266b..92a37664d453 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -290,7 +290,7 @@ struct iwl_cmd {
290 struct iwl4965_bt_cmd bt; 290 struct iwl4965_bt_cmd bt;
291 struct iwl4965_rxon_time_cmd rxon_time; 291 struct iwl4965_rxon_time_cmd rxon_time;
292 struct iwl4965_powertable_cmd powertable; 292 struct iwl4965_powertable_cmd powertable;
293 struct iwl4965_qosparam_cmd qosparam; 293 struct iwl_qosparam_cmd qosparam;
294 struct iwl_tx_cmd tx; 294 struct iwl_tx_cmd tx;
295 struct iwl4965_tx_beacon_cmd tx_beacon; 295 struct iwl4965_tx_beacon_cmd tx_beacon;
296 struct iwl4965_rxon_assoc_cmd rxon_assoc; 296 struct iwl4965_rxon_assoc_cmd rxon_assoc;
@@ -435,7 +435,7 @@ struct iwl_ht_info {
435 u8 non_GF_STA_present; 435 u8 non_GF_STA_present;
436}; 436};
437 437
438union iwl4965_qos_capabity { 438union iwl_qos_capabity {
439 struct { 439 struct {
440 u8 edca_count:4; /* bit 0-3 */ 440 u8 edca_count:4; /* bit 0-3 */
441 u8 q_ack:1; /* bit 4 */ 441 u8 q_ack:1; /* bit 4 */
@@ -456,11 +456,11 @@ union iwl4965_qos_capabity {
456}; 456};
457 457
458/* QoS structures */ 458/* QoS structures */
459struct iwl4965_qos_info { 459struct iwl_qos_info {
460 int qos_enable; 460 int qos_enable;
461 int qos_active; 461 int qos_active;
462 union iwl4965_qos_capabity qos_cap; 462 union iwl_qos_capabity qos_cap;
463 struct iwl4965_qosparam_cmd def_qos_parm; 463 struct iwl_qosparam_cmd def_qos_parm;
464}; 464};
465 465
466#define STA_PS_STATUS_WAKE 0 466#define STA_PS_STATUS_WAKE 0
@@ -1042,7 +1042,7 @@ struct iwl_priv {
1042 u16 assoc_capability; 1042 u16 assoc_capability;
1043 u8 ps_mode; 1043 u8 ps_mode;
1044 1044
1045 struct iwl4965_qos_info qos_data; 1045 struct iwl_qos_info qos_data;
1046 1046
1047 struct workqueue_struct *workqueue; 1047 struct workqueue_struct *workqueue;
1048 1048