summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of ↵John W. Linville2012-03-0542-1048/+1902
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
| * Merge branch 'master' of ↵John W. Linville2012-02-291-1/+9
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
| * | mac80211: handle non-bufferable MMPDUs correctlyJohannes Berg2012-02-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This renames the IEEE80211_TX_CTL_POLL_RESPONSE TX flag to IEEE80211_TX_CTL_NO_PS_BUFFER and also uses it for non-bufferable MMPDUs (all MMPDUs but deauth, disassoc and action frames.) Previously, mac80211 would let the MMPDU through but not set the flag so drivers supporting some hardware aids for avoiding the PS races would then reject the frame. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | iwlwifi: fix IDI compilationEmmanuel Grumbach2012-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fixup for my: iwlwifi: kill iwl_bus.h Please fold them into one patch for upstream Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: update pci subsystem idWey-Yi Guy2012-02-273-3/+16
| | | | | | | | | | | | | | | | | | Update the pci subsystem id and product name for 6005 series devices Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: one more sku added to 6x35 seriesWey-Yi Guy2012-02-271-0/+1
| | | | | | | | | | | | | | | | | | Add new sku to 6x35 series Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: iwl-trans.h doesn't need all these includesEmmanuel Grumbach2012-02-272-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | We can use forward declaration for the relevant struct since they aren't dereferenced in the header file. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: document the operational modeEmmanuel Grumbach2012-02-272-8/+34
| | | | | | | | | | | | | | | | | | | | | Also add a might_sleep to enforce the context requirements. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: remove iwl_reset_traffic_log from sharedEmmanuel Grumbach2012-02-272-4/+2
| | | | | | | | | | | | | | | | | | | | | It is op_mode related Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: remove iwl_print_rx_config_cmd from sharedEmmanuel Grumbach2012-02-274-14/+15
| | | | | | | | | | | | | | | | | | | | | It is op_mode related Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: kill iwl_bus.hEmmanuel Grumbach2012-02-279-188/+29
| | | | | | | | | | | | | | | | | | | | | No one needs it any more Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: eeprom gets transport and not busEmmanuel Grumbach2012-02-273-77/+80
| | | | | | | | | | | | | | | | | | | | | | | | This is temporary, but at least we can now throw the bus away and move the iwl_pci_{probe,remove} functions. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move eeprom defines to iwl-eeprom.cEmmanuel Grumbach2012-02-272-3/+4
| | | | | | | | | | | | | | | | | | | | | They don't need to be in iwl-dev.h Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: remove a few dereferences to iwl_priv from the tansportEmmanuel Grumbach2012-02-271-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | The transport should not dereference the iwl_priv pointer. Remove a few of those. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: virtualize op_mode's fw_errorEmmanuel Grumbach2012-02-277-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | Export it as "nic_error" notification, the error handling will be in the op_mode. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: virtualize op_mode's set_hw_rf_killEmmanuel Grumbach2012-02-277-7/+18
| | | | | | | | | | | | | | | | | | | | | Export it as "hw_rf_kill" notification. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: virtualize op_mode's stop/start queueEmmanuel Grumbach2012-02-276-6/+31
| | | | | | | | | | | | | | | | | | | | | Export them as "queue_full" and "queue_not_full" notification. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: virtualize op_mode's rxEmmanuel Grumbach2012-02-276-7/+21
| | | | | | | | | | | | | | | | | | | | | This is the op_mode's Rx handler. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: virtualize op_mode's free skbEmmanuel Grumbach2012-02-277-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | This handler allows the transport layer to free an skb from the op_mode. This can happen when the driver is stopped while Tx packets are pending in the transport layer. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: use sparse compliant __aligned__ attributeEmmanuel Grumbach2012-02-272-2/+2
| | | | | | | | | | | | | | | | | | | | | Sparse prefers __aligned(sizeof(void *)); Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: virtualize the op_modeEmmanuel Grumbach2012-02-2712-65/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define the op_mode as an interface with its ops. All the functions of the op_mode are "private", but its ops is made public in iwl-op-mode.h. The drv object starts the op_mode by using the start function in the public ops. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: rename iwl_remove to iwl_op_mode_dvm_stopEmmanuel Grumbach2012-02-273-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | iwl_remove stops the wifi flows, so rename. Moreover, we can possibly stop the wifi flows even if the driver is statically compiled in the kernel, so remove the __devexit pragma. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: drv object can release its own memoryEmmanuel Grumbach2012-02-273-2/+21
| | | | | | | | | | | | | | | | | | | | | Move that code to the iwl-drv.c Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: introducing the drv object's flowsEmmanuel Grumbach2012-02-276-29/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetch the fw and spawn the op_mode. The op_mode that we need to fetch is determined from the fw file. Since the fw is fetched very early in the init flow, we can determine what op_mode to spawn. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move uCode flags handling to op_modeJohannes Berg2012-02-272-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The uCode flags modification is op_mode dependent since the P2P config is an op-mode config. This also fixes P2P enabling: due to the uCode loading code shuffle moving the SKU check before the EEPROM was read it was always false and would always disable PAN/P2P. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move content of iwl_probe to post fetch_fwEmmanuel Grumbach2012-02-274-55/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow to have different behavior depending on the fw. Different fw APIs require completely different implementation of the mac80211 APIs. Each of these implementations is called an op_mode. The current op_mode is called DVM which states for dual virtual MAC. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: parse_tlv functions set the fw_version stringEmmanuel Grumbach2012-02-272-31/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | struct iwl_fw contains a string that describe the fw. This string is now set by the iwl_parse_*_firmware. This string is later used to update the cfg80211 data. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: iwl-agn.h included twiceDanny Kukawka2012-02-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/net/wireless/iwlwifi/iwl-core.c included 'iwl-agn.h' twice, remove the duplicate. Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | iwlwifi: enable receiving beacons when not associatedMeenakshi Venkataraman2012-02-171-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the firmware implements beacon filtering, beacons are filtered when not associated. This causes association failures on channels marked passive. Enabling this flag indicates to the firmware to allow the beacons to pass through when not associated only. Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: remove un-necessary returnWey-Yi Guy2012-02-172-4/+3
| | | | | | | | | | | | | | | | | | Already return 0, change to void Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: SRAM size moves from hw_params to cfgEmmanuel Grumbach2012-02-176-18/+38
| | | | | | | | | | | | | | | | | | | | | This will allow to set the hw_params after we fetch the uCode. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: save ucode capabilities in iwl_fwDon Fry2012-02-174-29/+22
| | | | | | | | | | | | | | | | | | | | | | | | The capabilities parsed from the ucode file are never saved. Save them in the iwl_fw structure. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: changes args to iwl_nic for firmware operationsDon Fry2012-02-174-79/+77
| | | | | | | | | | | | | | | | | | | | | | | | Remove the references to iwl_priv from the firmware request and parsing routines. They are generic to the nic. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: the transport knows its stateEmmanuel Grumbach2012-02-171-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | This allows to handle races such as Tx packets on their way to be sent although the transport has been stopped already. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move event and err pointers to iwl_nicDon Fry2012-02-173-26/+24
| | | | | | | | | | | | | | | | | | | | | Move the ucode offset pointers to the iwl_nic as they are nic related. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: document the transport layerEmmanuel Grumbach2012-02-171-13/+107
| | | | | | | | | | | | | | | | | | | | | | | | Fix a few typos in the existing comments too. Enforce the comments with might_sleep. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: send testmode hcmd reply with rx headerAmit Beka2012-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a host command is sent through testmode, the whole reply (including rx header) is returned to the user, and not only the payload of the rx. Before this commit the length was buggy - the reply contained 4 bytes after the end of the payload. Signed-off-by: Amit Beka <amit.beka@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: fixes to testmode indirect accessAmit Beka2012-02-171-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Fixed casting of buffer addressing, and added size to the read method, like in __iwl_read_prph. Signed-off-by: Amit Beka <amit.beka@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: use enhance_sensitivity from iwl_fwEmmanuel Grumbach2012-02-173-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | Remove another dependency between the nic layer and the iwl_priv struct. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: iwl_set_hw_params returns always 0Emmanuel Grumbach2012-02-176-22/+9
| | | | | | | | | | | | | | | | | | | | | Remove the return value. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: kill iwl_down and s/__iwl_down/iwl_downEmmanuel Grumbach2012-02-173-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | iwl_down was just a wrapper around __iwl_down which was called from one place only. Replace it to direct call to iwl_down. Add lockdep warning in iwl_down to ensure it was called with the mutex held. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: change args to ucode routinesDon Fry2012-02-174-35/+36
| | | | | | | | | | | | | | | | | | | | | | | | Change the prameters to the ucode (de)allocate routines to iwl_nic as they are not transport operations. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: Move ucode pointers to iwl_fwDon Fry2012-02-176-48/+46
| | | | | | | | | | | | | | | | | | | | | The ucode image is a ucode related thing not a transport one. Move them. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move firmware_loading_complete to iwl_nicDon Fry2012-02-173-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | Move firmware_loading_complete from iwl_priv to iwl_nic and rename it to more accurately reflect what it does. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move firmware_name to iwl_nicDon Fry2012-02-172-8/+5
| | | | | | | | | | | | | | | | | | | | | Delete firmware_name from iwl_priv and use iwl_nic instead. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move fw_index from iwl_priv to iwl_nicDon Fry2012-02-172-12/+12
| | | | | | | | | | | | | | | | | | | | | Delete fw_index from iwl_priv and use iwl_nic instead. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move ucode_ver to iwl_nicDon Fry2012-02-175-20/+22
| | | | | | | | | | | | | | | | | | | | | Delete ucode_ver from iwl_priv and use iwl_nic instead. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: create iwl_nic structureDon Fry2012-02-174-2/+86
| | | | | | | | | | | | | | | | | | | | | Create iwl_nic structure and link it together. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: give PCIe its own lockJohannes Berg2012-02-174-31/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using a global lock, the PCIe transport can use an own lock for its IRQ. This will make it possible to not disable IRQs for the shared lock. The lock is currently used throughout the code but this can be improved even further by splitting up the locking for the queues. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Wey-Yi W Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move workqueue to privJohannes Berg2012-02-1713-33/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to separate the different parts of the driver better, we are reducing the shared data. This moves the workqueue to "priv", and removes it from the transport. To do this, simply use schedule_work() in the transport. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
OpenPOWER on IntegriCloud