aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
AgeCommit message (Collapse)Author
2008-05-01iwlwifi: fix debug messages during scanningBill Moss
direct_mask will be set when we are not associated and requesting a direct scan. The second debug print will be confusing as priv->essid is not set at that time and it will thus print "<hidden>" while it is known to which AP a direct scan is requested - as previous debug message also indicates. Now make all debugging consistent. Signed-off-by: Bill Moss <bmoss@clemson.edu> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-05-01iwlwifi: fix current channel is not scannedGuy Cohen
All channels should be scanned, including the current channel when the client is associated. Removed also unused flag to scan only active channels. Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-23iwlwifi: Don't unlock priv->mutex if it isn't lockedRoland Dreier
Commit b716bb91 ("iwlwifi: Cancel scanning upon association") moved the test of priv->vif in iwl{3945,4964}_mac_config_interface() outside of where priv->mutex is held, but still tries to do mutex_unlock() on return. This is clearly wrong and triggers a nasty lockdep warning when this codepath is triggered. Fix this by removing the mutex_unlock(). Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: Use HW acceleration decryption by defaultEmmanuel Grumbach
This patch reverses the hw_crypto logic and makes HW crypto a default. Giving swcrypto=1 as parameter to the module disables HW crypto. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: fix unload warning and errorMohamed Abbas
This patch fix the error we get when unload the driver, No space for Tx. The cause of this problem is related to receiving late SW rfkill from rfkill subsystem during the driver teardown causing this error. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: Fix TKIP update key and get_free_ucode_keyEmmanuel Grumbach
This patch fixes a bug in update_tkip_key: only one key needs to be allocated in uCode, every time it is updated, the old one will be overwritten Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: move rxon associated command to hcmdTomas Winkler
This patch run rxon associated command from hcmd handler Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: move HW device registrationRon Rindjunsky
This patch moves the HW device registration from the iwl-4965.c file, which implies a HW specific support, to a more general location. 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>
2008-04-16iwlwifi: hw_setting cleanupTomas Winkler
1. This patch renames hw_setting to hw_params 2. Align names of the structure and variables 3. set_hw_params is called from libs_ops Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: remove the statistics workEmmanuel Grumbach
This patch does 3 things 1) It removes the statistics work. The request statistics command is sent in ASYNC mode in this flow, the mutex is uneeded, so the request statistics function can't go to sleep. No need for a workqueue anymore. 2) iwl4965_send_statistics_request has been renamed to iwl_send_statistics_request and moved to iwl-core.c 3) A request for statistics is sent in alive_notify, the makes the uCode sends statistics notification periodically starting from association. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: move shared pointers to iwl_privTomas Winkler
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: perform bss_info_changed post association work right awayReinette Chatre
Do not use workqueue for bss_info_changed post association work. When driver is notified of association the upper layer will be notified right after that the association is complete. Doing the post association work in a workqueue introduces a race condition where the upper layer may want to make use of the association, but it is not yet complete. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwl4965: make iwl4965_send_rxon_assoc asynchronousReinette Chatre
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: Fix byte count table for fragmented packetsTomas Winkler
This patch fix byte count table update. Table must be updated for each fragment Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: moves security functions to iwl-sta.cEmmanuel Grumbach
This patch moves security related functions to iwl-sta.c. Note that iwl4965_mac_update_tkip_key is still in iwl4965-base.c since it is a mac80211 handler. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: maintain uCode key table stateEmmanuel Grumbach
This patch fix book keeping of key table in the driver to be synchronized with uCode Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: add 1X HW WEP supportEmmanuel Grumbach
This patch adds support for HW encryption/decryption in 1X WEP. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: default WEP HW encryptionEmmanuel Grumbach
This patch adds HW encryption support in default WEP mode. When no key mapping key/pairwise key is used. The key is broadcast key is used as default/global/static key. This code assumes that group cast key is added after pairwise key. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-16iwlwifi: generalize iwlwifi init flowTomas Winkler
This patch creates handlers to support iwlwifi init flow for multiple HWs Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08mac80211: notify mac from low level driver (iwlwifi)Mohamed Abbas
Add new API to MAC80211 to allow low level driver to notify MAC with driver status. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08iwlwifi: honour regulatory restrictions in scan codeJohannes Berg
When doing firmware-assisted scanning, iwlwifi drivers do not honour the regulatory control code that might disable channels that are enabled in the EEPROM, for example when the user is visiting another country and adjusted the regulatory domain accordingly. This patch fixes that. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08iwlwifi: ensure led registration complete as part of initializationReinette Chatre
After the workqueue is notified the LED code may be accessed. Ensure that LED registration completes completely as part of initialization before anything waiting on this is notified. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08iwlwifi: move driver status inliners into iwl-core.hTomas Winkler
This patch moves inline functions into iwl-core.h Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08iwlwifi: Eliminate association from beaconTomas Winkler
This patch removes association from beacon using bss_info_change handler for association Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08iwlwifi: eliminate conf_htTomas Winkler
This patch eliminates the use of conf_ht in iwlwifi driver, replacing it with bss_info_changed. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-01wireless: fix various printk warnings on ia64 (and others)John W. Linville
drivers/net/wireless/ath5k/base.c: In function `ath5k_check_ibss_tsf': drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 5) drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/ath5k/base.c:1740: warning: long long int format, u64 arg (arg 7) drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 8) drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 5) drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl4965-base.c: In function `iwl4965_tx_status_reply_tx': drivers/net/wireless/iwlwifi/iwl4965-base.c:3105: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl-4965.c: In function `iwl4965_rx_reply_rx': drivers/net/wireless/iwlwifi/iwl-4965.c:3978: warning: long long unsigned int format, u64 arg (arg 7) Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-01iwlwifi: unregister to upper stack before releasing resourcesRon Rindjunsky
This patch fixes an early release of driver's resources before upper stack was notified that low-level driver shuts down. 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>
2008-04-01iwlwifi: move rate registration to module loadReinette Chatre
Having rate registration during module load enables the use of error checking as well as reliable registration/unregistration pairing. Previously this was not possible as rate registration was done during _probe where _probe could be run for more than one device on the system. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-01iwlwifi: fix race condition during driver unloadMohamed Abbas
This patch fixed the OOPS when load the driver while rf-kill is on then unload the driver right after load. a race condition caused the interupt handler to schedule the tasklet which will run right after the driver pci_remove causing invalid poiter OOPS. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Joonwoo Park <joonwpark81@gmail.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-01iwlwifi: hook iwlwifi with Linux rfkillMohamed Abbas
This patch hook IWL with Linux rfkill. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-01iwlwifi: add notification infrastructure to iwlcoreMohamed Abbas
This patch add notification function to be called by low level iwl driver to notify iwlcore with current state. This function will call iwlcore subsystem with the new state. This will help make the code more consistent and easy to extend. For example the rf-kill need to know when the driver in init, start, stop or remove state. Instead doing the same call in 3945 and 4965, we just do it from this function. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-27Merge branch 'master' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/usb/rndis_host.c drivers/net/wireless/b43/dma.c net/ipv6/ndisc.c
2008-03-27iwlwifi: iwl_priv - clean up in types of membersTomas Winkler
This patch fix types of is_open and iw_mode members of iwl_priv sturct Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-27iwlwifi: rename iwl-4965-io.h to iwl-io.hTomas Winkler
This patch renames iwl-4965-io.h back to iw-io.h it also remove 4965 from all functions it supplies Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-27iwlwifi: Add led supportMohamed Abbas
This patch add LEDS support to 3965 and 4965 drivers. It is based on led trigger and class. For our drivers we needed to avoid two things. 1- We receive led trigger on/off on each Rx\Tx frame. In our driver we can not call led command like that. In this driver once driver receive a start of traffic it call the led command to start blinking then we count all bytes of Tx and Rx frame, after two second we count the blink rate of last two second then id blink rate changed we call the led commands 2- Since we can call led command very often, we make sure we call the led command after we receive the statistics notification so we don't need to wake up the ucode id it is in sleep state. This patch was tested with 4965 and 3945. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Ian Schram<ischram@telenet.be> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-27iwlwifi: do not register bands with no supported channelsJohn W. Linville
Otherwise, b/g-only devices fail in wiphy_register. Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Completing the parameter packagingAssaf Krauss
This patch completes the changes regarding the packaging of user parameters. Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: move host command sending functions to core moduleTomas Winkler
1. Host command sending functions moved from iwl4965-base.c to iwl-hcmd.c in iwlcore module 2. enqueue_hcmd function currently stays in iwl4965-base.c. It is invoked through the new 'utils' field in priv's ops. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: rename iwl4965_get_channel_info to iwl_get_channel_infoAssaf Krauss
iwl4965_get_channel_info was moved to iwlcore module 4965 needs to be stripped off Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi-2.6: enables RX TKIP decryption in HWEmmanuel Grumbach
This patch enables RX TKIP decryption in HW. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi-2.6: enables HW TKIP encryptionEmmanuel Grumbach
This patch add support for TKIP encryption (TX) in HW. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi-2.6: RX status translation to old schemeEmmanuel Grumbach
This patch adds translation for the RX status of an incoming packet. The incoming status has to be translated to the old scheme in order to know if the decryption has been done, MIC failure has occured, TTAK is valid etc... This translation is mandatory for all RX packets when using 5300 and for all HT packets using 4965. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi-2.6: Cleans up set_key flowEmmanuel Grumbach
This patch cleans up the set_key flow. Rxon with hw encryption bit set is not sent upon each call to set_key. Separation is made between global key (WEP) and dynamic key (TKIP + CCMP and WEP in some cases). Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Probe Flow - Extracting hw and priv initAssaf Krauss
1. Extracting hw and priv initialization from probe function. 2. Moving some initialization functions to core module. Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Probe Flow - Performing allocation in a separate functionAssaf Krauss
Performing allocation in a separate function (previously handled in 'probe') Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Packing all 4965 parametersAssaf Krauss
This patch defines a package struct for iwlwifi parameters, and uses a single instance of this struct to group all iwl4965 module parameters together. Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Re-ordering probe flow (4965)Assaf Krauss
This patch re-orders the iwl4965_pci_probe function. Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Add debugfs to iwl coreTomas Winkler
This patch adds debugfs support to iwl core currently only iwl4965 is supported Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: Add TX/RX statistcs to driverTomas Winkler
This patch supports collecting of TX and RX statistics in the driver. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-25iwlwifi: rename struct iwl4965_priv to struct iwl_privTomas Winkler
This patch renames iwl4965_priv to iwl_priv. iwl_priv will be shared by more hw. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>