diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-02 01:08:51 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-02 01:08:51 -0400 |
commit | e9e80ea5f2129e135e3a6fa260314b1c6d99b19a (patch) | |
tree | db20dc85b0e620ea3fcaf86a9026d6df7cb2e168 /drivers/net/wireless/iwlwifi | |
parent | 2b12a4c524812fb3f6ee590a02e65b95c8c32229 (diff) | |
parent | 56decd3c5758b0d776c073f65f777beb7a05ac0a (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-tx.c | 8 |
2 files changed, 10 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index a51e0eaa1334..56a9361a847f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -710,10 +710,7 @@ static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv, | |||
710 | return; | 710 | return; |
711 | } | 711 | } |
712 | 712 | ||
713 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { | 713 | |
714 | iwl3945_pass_packet_to_mac80211(priv, rxb, &rx_status); | ||
715 | return; | ||
716 | } | ||
717 | 714 | ||
718 | /* Convert 3945's rssi indicator to dBm */ | 715 | /* Convert 3945's rssi indicator to dBm */ |
719 | rx_status.signal = rx_stats->rssi - IWL_RSSI_OFFSET; | 716 | rx_status.signal = rx_stats->rssi - IWL_RSSI_OFFSET; |
@@ -775,6 +772,11 @@ static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv, | |||
775 | priv->last_rx_noise = rx_status.noise; | 772 | priv->last_rx_noise = rx_status.noise; |
776 | } | 773 | } |
777 | 774 | ||
775 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { | ||
776 | iwl3945_pass_packet_to_mac80211(priv, rxb, &rx_status); | ||
777 | return; | ||
778 | } | ||
779 | |||
778 | switch (le16_to_cpu(header->frame_control) & IEEE80211_FCTL_FTYPE) { | 780 | switch (le16_to_cpu(header->frame_control) & IEEE80211_FCTL_FTYPE) { |
779 | case IEEE80211_FTYPE_MGMT: | 781 | case IEEE80211_FTYPE_MGMT: |
780 | switch (le16_to_cpu(header->frame_control) & | 782 | switch (le16_to_cpu(header->frame_control) & |
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c index f72cd0bf6aa3..0182e4da8e35 100644 --- a/drivers/net/wireless/iwlwifi/iwl-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-tx.c | |||
@@ -962,16 +962,16 @@ int iwl_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
962 | if (ret) | 962 | if (ret) |
963 | return ret; | 963 | return ret; |
964 | 964 | ||
965 | if ((iwl_queue_space(q) < q->high_mark) | 965 | if ((iwl_queue_space(q) < q->high_mark) && priv->mac80211_registered) { |
966 | && priv->mac80211_registered) { | ||
967 | if (wait_write_ptr) { | 966 | if (wait_write_ptr) { |
968 | spin_lock_irqsave(&priv->lock, flags); | 967 | spin_lock_irqsave(&priv->lock, flags); |
969 | txq->need_update = 1; | 968 | txq->need_update = 1; |
970 | iwl_txq_update_write_ptr(priv, txq); | 969 | iwl_txq_update_write_ptr(priv, txq); |
971 | spin_unlock_irqrestore(&priv->lock, flags); | 970 | spin_unlock_irqrestore(&priv->lock, flags); |
971 | } else { | ||
972 | ieee80211_stop_queue(priv->hw, | ||
973 | skb_get_queue_mapping(skb)); | ||
972 | } | 974 | } |
973 | |||
974 | ieee80211_stop_queue(priv->hw, skb_get_queue_mapping(skb)); | ||
975 | } | 975 | } |
976 | 976 | ||
977 | return 0; | 977 | return 0; |