1. 10 May, 2011 15 commits
  2. 06 May, 2011 7 commits
    • Johannes Berg's avatar
      iwlagn: check DMA mapping errors · 2c46f72e
      Johannes Berg authored
      
      
      DMA mappings can fail, but the current code
      doesn't check for that. Add checking, which
      requires some restructuring for proper error
      paths.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      2c46f72e
    • Johannes Berg's avatar
      iwlagn: remove bytecount indirection · 94b00658
      Johannes Berg authored
      
      
      All AGN devices need the bytecount table, so
      remove the indirection and make the functions
      static again.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      94b00658
    • Johannes Berg's avatar
      iwlagn: dont update bytecount table for command queue · ccb6c1c0
      Johannes Berg authored
      
      
      The device doesn't use the bytecount table for the
      command queue, only for aggregation queues to make
      aggregation decisions. So don't update it for the
      command queue (and we even updated it with wrong
      values).
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      ccb6c1c0
    • Johannes Berg's avatar
      iwlagn: remove unused variable · 4c2cde3b
      Johannes Berg authored
      
      
      The variable 'len' here is set but never used.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      4c2cde3b
    • Johannes Berg's avatar
      iwlagn: remove frame pre-allocation · 8a98d49e
      Johannes Berg authored
      
      
      The frame pre-allocation is quite a bit of complex
      code, all to avoid a single allocation. Remove it
      and consolidate the beacon sending code.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      8a98d49e
    • Johannes Berg's avatar
      iwlagn: remove get_hcmd_size indirection · 46975f78
      Johannes Berg authored
      
      
      There's no need for this, all commands are the right size.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      46975f78
    • Cindy H. Kao's avatar
      iwlwifi: support the svtool messages interactions through nl80211 test mode · 4613e72d
      Cindy H. Kao authored
      
      
      This patch adds the feature to support the test mode operation through
      the generic netlink channel NL80211_CMD_TESTMODE between intel
      wireless device iwlwifi and the user space application svtool.
      
      The main purpose is to create a transportation layer between the iwlwifi
      device and the user space application so that the interaction between the
      user space application svtool and the iwlwifi device in the kernel space is
      in a way of generic netlink messaging.
      
      The detail specific functions are:
      
      1. The function iwl_testmode_cmd() is added to digest the svtool test command
         from the user space application. The svtool test commands are categorized  to
         three types : commands to be processed by the device ucode, commands to access
         the registers, and commands to be processed at the driver level(such as reload
         the ucode). iwl_testmode_cmd() dispatches the commands the corresponding handlers
         and reply to user space regarding the command execution status. Extra data is
         returned to the user space application if there's any.
      
      2. The function iwl_testmode_ucode_rx_pkt() is added to multicast all the spontaneous
         messages from the iwlwifi device to the user space. Regardless the message types,
         whenever there is a valid spontaneous message received by the iwlwifi ISR,
         iwl_testmode_ucode_rx_pkt() is invoked to multicast the message content to user
         space. The message content is not attacked and the message parsing is left to
         the user space application.
      
      Implementation guidelines:
      
      1. The generic netlink messaging for iwliwif test mode is through  NL80211_CMD_TESTMODE
         channel, therefore, the codes need to follow the regulations set by cfg80211.ko
         to get the actual device instance ieee80211_ops via cfg80211.ko, so that the iwlwifi
         device is indicated with ieee80211_ops and can be actually accessed.
      
         Therefore, a callback iwl_testmode_cmd() is added to the structure
         iwlagn_hw_ops in iwl-agn.c.
      
      2. It intends to utilize those low level device access APIs from iwlwifi device driver
         (ie. iwlagn.ko) rather than creating it's own set of device access functions.
         For example, iwl_send_cmd(), iwl_read32(), iwl_write8(), and iwl_write32() are reused.
      
      3. The main functions are maintained in new files instead of spreading all over the
         existing iwlwifi driver files.
      
         The new files added are :
      
         drivers/net/wireless/iwlwifi/iwl-sv-open.c
              - to handle the user space test mode application command
                and reply the respective command status to the user space application.
              - to multicast the spontaneous messages from device to user space.
      
         drivers/net/wireless/iwlwifi/iwl-testmode.h
              - the commonly referenced definitions for the TLVs used in
                the generic netlink messages
      Signed-off-by: default avatarCindy H. Kao <cindy.h.kao@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      4613e72d
  3. 05 May, 2011 18 commits