1. 12 1月, 2012 1 次提交
    • S
      ath6kl: Fix SDIO error path · 866dc886
      Sujith Manoharan 提交于
      sdio_release_host() would be called twice if sdio_set_block_size()
      fails for some reason, which would result in the following warning.
      
      WARNING: at /home/sujith/dev/wireless-testing/drivers/mmc/core/core.c:828 mmc_release_host+0x42/0x50 [mmc_core]()
      
      Call Trace:
      [<ffffffff81064fdf>] warn_slowpath_common+0x7f/0xc0
      [<ffffffff8106503a>] warn_slowpath_null+0x1a/0x20
      [<ffffffffa03beb42>] mmc_release_host+0x42/0x50 [mmc_core]
      [<ffffffffa03c917e>] sdio_release_host+0x1e/0x30 [mmc_core]
      [<ffffffffa053fac7>] ath6kl_sdio_config+0xc7/0x110 [ath6kl_sdio]
      [<ffffffffa053fd2c>] ath6kl_sdio_probe+0x21c/0x320 [ath6kl_sdio]
      [<ffffffffa03beb2a>] ? mmc_release_host+0x2a/0x50 [mmc_core]
      [<ffffffffa03c7d2a>] sdio_bus_probe+0xfa/0x130 [mmc_core]
      [<ffffffff813015ae>] driver_probe_device+0x7e/0x1b0
      [<ffffffff8130178b>] __driver_attach+0xab/0xb0
      [<ffffffff813016e0>] ? driver_probe_device+0x1b0/0x1b0
      [<ffffffff813016e0>] ? driver_probe_device+0x1b0/0x1b0
      [<ffffffff81300504>] bus_for_each_dev+0x64/0xa0
      [<ffffffff8130123e>] driver_attach+0x1e/0x20
      [<ffffffff81300e80>] bus_add_driver+0x1b0/0x280
      [<ffffffffa0065000>] ? 0xffffffffa0064fff
      [<ffffffff81301d06>] driver_register+0x76/0x140
      [<ffffffffa0065000>] ? 0xffffffffa0064fff
      [<ffffffffa03c7b71>] sdio_register_driver+0x21/0x30 [mmc_core]
      [<ffffffffa0065012>] ath6kl_sdio_init+0x12/0x35 [ath6kl_sdio]
      [<ffffffff81002042>] do_one_initcall+0x42/0x180
      [<ffffffff810b025f>] sys_init_module+0x8f/0x200
      [<ffffffff81425ac2>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      866dc886
  2. 09 1月, 2012 7 次提交
  3. 03 1月, 2012 7 次提交
  4. 23 12月, 2011 7 次提交
    • S
      ath6kl: Fix panic when setting a channel · e68f6750
      Sujith Manoharan 提交于
      cfg80211 could pass a NULL net_device to the driver via the
      set_channel() callback, when it receives a request to set the
      device's channel. Not handling this case properly results in this panic:
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000cb0
      IP: [<ffffffffa0374e49>] ath6kl_cfg80211_ready+0x9/0x70 [ath6kl_sdio]
      
      Call Trace:
      [<ffffffffa0374ed7>] ath6kl_set_channel+0x27/0x90 [ath6kl_sdio]
      [<ffffffffa04dfd5f>] cfg80211_set_freq+0xff/0x1d0 [cfg80211]
      [<ffffffffa04d3275>] ? nl80211_set_wiphy+0x85/0x660 [cfg80211]
      [<ffffffffa04d3198>] __nl80211_set_channel.isra.39+0x118/0x140 [cfg80211]
      [<ffffffffa04d34f3>] nl80211_set_wiphy+0x303/0x660 [cfg80211]
      [<ffffffff813678d7>] ? rtnl_lock+0x17/0x20
      [<ffffffffa04ca165>] ? nl80211_pre_doit+0xb5/0x150 [cfg80211]
      [<ffffffff81382a45>] genl_rcv_msg+0x1d5/0x250
      [<ffffffff81382870>] ? genl_rcv+0x40/0x40
      [<ffffffff81381be9>] netlink_rcv_skb+0xa9/0xd0
      [<ffffffff81382855>] genl_rcv+0x25/0x40
      [<ffffffff811354f0>] ? might_fault+0x40/0x90
      [<ffffffff81381519>] netlink_unicast+0x2d9/0x320
      [<ffffffff813818e6>] netlink_sendmsg+0x2c6/0x320
      [<ffffffff81343800>] ? sock_update_classid+0xb0/0x110
      [<ffffffff8133f52e>] sock_sendmsg+0x10e/0x130
      [<ffffffff81169933>] ? mem_cgroup_update_page_stat+0x193/0x250
      [<ffffffff811354f0>] ? might_fault+0x40/0x90
      [<ffffffff811354f0>] ? might_fault+0x40/0x90
      [<ffffffff81135539>] ? might_fault+0x89/0x90
      [<ffffffff811354f0>] ? might_fault+0x40/0x90
      [<ffffffff8134d126>] ? verify_iovec+0x56/0xd0
      [<ffffffff8133f9e6>] __sys_sendmsg+0x396/0x3b0
      [<ffffffff8108e823>] ? up_read+0x23/0x40
      [<ffffffff81040e68>] ? do_page_fault+0x208/0x4e0
      [<ffffffff81193151>] ? vfsmount_lock_local_unlock+0x21/0x60
      [<ffffffff811947d0>] ? mntput_no_expire+0x30/0xe0
      [<ffffffff8119489f>] ? mntput+0x1f/0x30
      [<ffffffff81342149>] sys_sendmsg+0x49/0x90
      [<ffffffff81425482>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e68f6750
    • K
      ath6kl: add support for FW API 3 · 65a8b4cc
      Kalle Valo 提交于
      As firmware starting from 3.2.0.12 has some API changes and doesn't work
      with older versions of ath6kl we need to bump up the API version. This
      way we don't break anything.
      
      Also store which version of API is used and print that during boot:
      
      ath6kl: ar6003 hw 2.1.1 sdio fw 3.2.0.13 api 3
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      65a8b4cc
    • K
      ath6kl: handle firmware names more dynamically · c0038972
      Kalle Valo 提交于
      Currently ath6kl has just hardcoded paths to each firmware file. Change
      this more dynamic by separating the the directory and file name from each
      other. That way it's easier to dynamically create full paths to firmware and
      code looks better. And now it's possible to remove a function needed by
      devicetree code.
      
      While at it add a structure inside struct ath6kl_hw to contain all
      firmware names. I deliberately omitted board file support as
      those will be handled later.
      
      This is needed for firmware API 3.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c0038972
    • R
      ath6kl: Send own IP addr to the firmware during WOW suspend · c08631c6
      Raja Mani 提交于
      Firmware ARP module requires own IP addr in order to respond
      to the outside world when the target is in WOW suspend state.
      
      At present, firmware ARP module has capability to hold 2 IP addr.
      So, WOW mode will be disabled if the total IP addr configured in
      net_dev for our device is greater than firmware limit (MAX_IP_ADDRS)
      which is 2 at this moment.
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NThirumalai Pachamuthu <tpachamu@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c08631c6
    • R
      ath6kl: Avoid taking struct as argument in ath6kl_wmi_set_ip_cmd · ca1d16a0
      Raja Mani 提交于
      In this way, caller is free to pass only the value of IP addr
      to configure.
      
      In addition to this,
        * 'ips' variable data type in struct wmi_set_ip_cmd is changed
           from __le32 to __be32 in order to match network byte order.
        *  ipv4_is_multicast() is used to validate multicast ip addr.
        *  New argument if_idx is added to supply correct vif index
           to ath6kl_wmi_cmd_send().
      
      This will be used in the next patch.
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NThirumalai Pachamuthu <tpachamu@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      ca1d16a0
    • J
      ath6kl: Fix connect command to clear previously used IEs · 6e786cb1
      Jouni Malinen 提交于
      Empty IE buffer means that the new association is not supposed to
      include extra IEs. Make sure any previously configured (Re)Association
      Request frame IEs get cleared in such a case. This is based on a patch
      from Shuibing.
      
      Cc: Dai Shuibing <shuibing@qca.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      6e786cb1
    • V
      ath6kl: Use cfg80211_roamed_bss() to report roaming event · 5e13fd35
      Vasanthakumar Thiagarajan 提交于
      This is to avoid the scenario where the bss entry of the AP got
      expired when reporting roaming event to current AP. As the bss
      entry for the current bss is available in driver, pass this bss
      to cfg80211. This fixes WARNING: at net/wireless/sme.c:586.
      
      This patch depends on the following patch in cfg80211
      "cfg80211: Fix race in bss timeout".
      Reported-by: NKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      5e13fd35
  5. 17 12月, 2011 1 次提交
  6. 16 12月, 2011 17 次提交