aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-05-29 04:35:18 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-03 15:00:25 -0400
commit37a44211cbe27795dbb79b2ea7036ff784f18d73 (patch)
tree185eaefd9bc7c45e163f41ec75178373e3fd9e77 /drivers/net/wireless/iwlwifi/iwl4965-base.c
parent5e1dd8dc19dc2c1bacadda04a5c2478aa9516a1b (diff)
iwlwifi: Rx handlers common use for 4965 and 5000
This patch moves Rx handlers from iwl 4965 only use to common use along with iwl 5000, thus enables Rx path to iwl 5000. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 4322cd604f41..49e72d461474 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -1872,6 +1872,17 @@ static void iwl4965_rx_card_state_notif(struct iwl_priv *priv,
1872 wake_up_interruptible(&priv->wait_command_queue); 1872 wake_up_interruptible(&priv->wait_command_queue);
1873} 1873}
1874 1874
1875/* Cache phy data (Rx signal strength, etc) for HT frame (REPLY_RX_PHY_CMD).
1876 * This will be used later in iwl4965_rx_reply_rx() for REPLY_RX_MPDU_CMD. */
1877static void iwl4965_rx_reply_rx_phy(struct iwl_priv *priv,
1878 struct iwl_rx_mem_buffer *rxb)
1879{
1880 struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data;
1881 priv->last_phy_res[0] = 1;
1882 memcpy(&priv->last_phy_res[1], &(pkt->u.raw[0]),
1883 sizeof(struct iwl4965_rx_phy_res));
1884}
1885
1875/** 1886/**
1876 * iwl4965_setup_rx_handlers - Initialize Rx handler callbacks 1887 * iwl4965_setup_rx_handlers - Initialize Rx handler callbacks
1877 * 1888 *
@@ -1900,18 +1911,21 @@ static void iwl4965_setup_rx_handlers(struct iwl_priv *priv)
1900 */ 1911 */
1901 priv->rx_handlers[REPLY_STATISTICS_CMD] = iwl4965_hw_rx_statistics; 1912 priv->rx_handlers[REPLY_STATISTICS_CMD] = iwl4965_hw_rx_statistics;
1902 priv->rx_handlers[STATISTICS_NOTIFICATION] = iwl4965_hw_rx_statistics; 1913 priv->rx_handlers[STATISTICS_NOTIFICATION] = iwl4965_hw_rx_statistics;
1903 1914 /* scan handlers */
1904 priv->rx_handlers[REPLY_SCAN_CMD] = iwl4965_rx_reply_scan; 1915 priv->rx_handlers[REPLY_SCAN_CMD] = iwl4965_rx_reply_scan;
1905 priv->rx_handlers[SCAN_START_NOTIFICATION] = iwl4965_rx_scan_start_notif; 1916 priv->rx_handlers[SCAN_START_NOTIFICATION] = iwl4965_rx_scan_start_notif;
1906 priv->rx_handlers[SCAN_RESULTS_NOTIFICATION] = 1917 priv->rx_handlers[SCAN_RESULTS_NOTIFICATION] =
1907 iwl4965_rx_scan_results_notif; 1918 iwl4965_rx_scan_results_notif;
1908 priv->rx_handlers[SCAN_COMPLETE_NOTIFICATION] = 1919 priv->rx_handlers[SCAN_COMPLETE_NOTIFICATION] =
1909 iwl4965_rx_scan_complete_notif; 1920 iwl4965_rx_scan_complete_notif;
1921 /* status change handler */
1910 priv->rx_handlers[CARD_STATE_NOTIFICATION] = iwl4965_rx_card_state_notif; 1922 priv->rx_handlers[CARD_STATE_NOTIFICATION] = iwl4965_rx_card_state_notif;
1911 1923
1912 priv->rx_handlers[MISSED_BEACONS_NOTIFICATION] = 1924 priv->rx_handlers[MISSED_BEACONS_NOTIFICATION] =
1913 iwl_rx_missed_beacon_notif; 1925 iwl_rx_missed_beacon_notif;
1914 1926 /* Rx handlers */
1927 priv->rx_handlers[REPLY_RX_PHY_CMD] = iwl4965_rx_reply_rx_phy;
1928 priv->rx_handlers[REPLY_RX_MPDU_CMD] = iwl4965_rx_reply_rx;
1915 /* Set up hardware specific Rx handlers */ 1929 /* Set up hardware specific Rx handlers */
1916 priv->cfg->ops->lib->rx_handler_setup(priv); 1930 priv->cfg->ops->lib->rx_handler_setup(priv);
1917} 1931}