#
faaf1929 |
| 27-Feb-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Register driver ht capabilities in wiphy
Register driver's ht capabilities in wiphy to avoid failures in setting ht channels from hostapd.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar
ath6kl: Register driver ht capabilities in wiphy
Register driver's ht capabilities in wiphy to avoid failures in setting ht channels from hostapd.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
13423c31 |
| 21-Feb-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Make foreground scan a deterministic one
This makes the device get into scan state as soon as a scan request is received, instead of blocking the scan request till the traffic comes down. It
ath6kl: Make foreground scan a deterministic one
This makes the device get into scan state as soon as a scan request is received, instead of blocking the scan request till the traffic comes down. It is necessary for the deterministic foreground scan particularly when having multiple vif operating where, if the scan is non- deterministic, scan on one interface will not start as long as there are traffic on the other interface. This change passes 50 msec as foreground scan interval to fix this.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.3-rc4 |
|
#
cc4d623d |
| 14-Feb-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Remove bogus non-NULL pointer check
In ath6kl_cfg80211_add_key(), params is checked for non-NULL but this pointer has been deferenced many times before this check. This gives the following s
ath6kl: Remove bogus non-NULL pointer check
In ath6kl_cfg80211_add_key(), params is checked for non-NULL but this pointer has been deferenced many times before this check. This gives the following smatch warning. add_key() can never carry NULL as params, remove this bogus check.
ath6kl_cfg80211_add_key(86) warn: variable dereferenced before check 'params'
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.3-rc3 |
|
#
d0ff7383 |
| 08-Feb-2012 |
Naveen Gangadharan <ngangadh@qca.qualcomm.com> |
ath6kl: Add unicast mgmt frame buffering
PS buffering of unicast Action frames that are sent in a context of a BSS. In AP mode when the recepient station goes to powersave and PS_POLL flag is not se
ath6kl: Add unicast mgmt frame buffering
PS buffering of unicast Action frames that are sent in a context of a BSS. In AP mode when the recepient station goes to powersave and PS_POLL flag is not set, we would buffer the frames. Send out unicast mgmt bufferred frame when PS_POLL is received.
This fixes a bug in P2P GO behavior when sending a GO Discoverability Request to a client that is in sleep mode.
kvalo: indentation fixes
Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> Signed-off-by: Naveen Gangadharan <ngangadh@qca.qualcomm.com> Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
8860020e |
| 13-Feb-2012 |
Johannes Berg <johannes.berg@intel.com> |
cfg80211: restructure AP/GO mode API
The AP/GO mode API isn't very clearly defined, it has "set beacon" and "new beacon" etc.
Modify the API to the following: * start AP -- all settings * change
cfg80211: restructure AP/GO mode API
The AP/GO mode API isn't very clearly defined, it has "set beacon" and "new beacon" etc.
Modify the API to the following: * start AP -- all settings * change beacon -- new beacon data * stop AP -- stop AP mode operation
This also reflects in the nl80211 API, rename the commands there correspondingly (but keep the old names for compatibility.)
Overall, this makes it much clearer what's going on in the API.
Kalle developed the ath6kl changes, I created the rest of the patch.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
1b2df407 |
| 06-Feb-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Update license header
Update license header with the copyright to Qualcomm Atheros, Inc. for the year 2011-2012.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-
ath6kl: Update license header
Update license header with the copyright to Qualcomm Atheros, Inc. for the year 2011-2012.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.3-rc2 |
|
#
3c325fbd |
| 31-Jan-2012 |
Masanari Iida <standby24x7@gmail.com> |
ath6kl: Fix typo in cfg80211.c
Correct spelling "spported" to "supported" in drivers/net/wireless/ath/ath6kl/cfg80211.c
Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Kalle Val
ath6kl: Fix typo in cfg80211.c
Correct spelling "spported" to "supported" in drivers/net/wireless/ath/ath6kl/cfg80211.c
Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
3c411a43 |
| 30-Jan-2012 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Return a proper error code when not in connected state
Error code ENOTCONN is more suitable than EINVAL to report when the driver is not in connected state in ath6kl_wow_suspend().
I found
ath6kl: Return a proper error code when not in connected state
Error code ENOTCONN is more suitable than EINVAL to report when the driver is not in connected state in ath6kl_wow_suspend().
I found this during code review.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
081c7a84 |
| 30-Jan-2012 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Wait for host sleep mode cmd processed event during WOW suspend
For every WMI_SET_HOST_SLEEP_MODE_CMDID command (send from the host), the firmware sends WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED
ath6kl: Wait for host sleep mode cmd processed event during WOW suspend
For every WMI_SET_HOST_SLEEP_MODE_CMDID command (send from the host), the firmware sends WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED_EVENTID as an acknowledgement to the host.
In order to being sync with the firmware, the host has to wait for WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED_EVENT event before going to the suspend state. This patch ensures ath6kl_wow_suspend() waits until it gets this event after sending set host sleep mode command.
This patch adds, * New command WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED_EVENTID in WMI event table. * New WMI function ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx() to process the event. * New flag HOST_SLEEP_MODE_CMD_PROCESSED in VIF flags to record the arrival of the event.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
d91e8eee |
| 30-Jan-2012 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Configure WOW patterns while going to wow_suspend
First preference is given to the user configured WOW patterns. If the user doesn't configure any patterns (for ex, via iw command), the defa
ath6kl: Configure WOW patterns while going to wow_suspend
First preference is given to the user configured WOW patterns. If the user doesn't configure any patterns (for ex, via iw command), the default patterns will be configured based on the current mode (vif->nw_type) while going to WOW suspend.
Summary of changes:
* ath6kl_wow_ap() is added to configure the below default patterns when the system enters into WOW suspend in AP mode. + Unicast IP, EAPOL-like and ARP packet pattern + ARP packet pattern + mDNS/SSDP/LLMNR pattern + DHCP broadcast pattern
* ath6kl_wow_sta() is added to configure the below default patterns when the system enters into WOW suspend in STA mode. + Unicast packet pattern + mDNS/SSDP/LLMNR pattern
* Move the user provided WOW patterns configuration code from ath6kl_wow_suspend() to a separate function called ath6kl_wow_usr().
* Two argument variable's ('filter' and 'mask) data type in ath6kl_wmi_add_wow_pattern_cmd() are changed from 'u8 *' to 'const u8 *'. This is needed to make all pattern and mask arrays to be 'static const u8' in the caller function.
* New conditional check is added to make sure user configured pattern count is within the limit (WOW_MAX_FILTERS_PER_LIST).
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
1d2a4456 |
| 21-Jan-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Fix bug in maintaining aggregation state in AP mode
Currently rx aggregation related states are maintained per vif, but this will not properly work when operating in AP mode. Aggregation is
ath6kl: Fix bug in maintaining aggregation state in AP mode
Currently rx aggregation related states are maintained per vif, but this will not properly work when operating in AP mode. Aggregation is completely broken when more than one 11n stations are connected to AP mode vif. Fix this issue by keeping station specific aggregation state in sta_list.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
7baef812 |
| 21-Jan-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Define a structure for connection specific aggregation information
This patch just groups connection specific aggregation information from struct aggr_info into a new structure (struct aggr_
ath6kl: Define a structure for connection specific aggregation information
This patch just groups connection specific aggregation information from struct aggr_info into a new structure (struct aggr_info_conn) so that, in softAP mode, this can be used when each connected station is made to have it's own aggregation state.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.3-rc1 |
|
#
d6a434d6 |
| 17-Jan-2012 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: create ath6kl_core.ko
Now ath6kl is ready for splitting core code to ath6kl_core.ko module. This also makes it possible to link both sdio and usb code to kernel at the same time, which earli
ath6kl: create ath6kl_core.ko
Now ath6kl is ready for splitting core code to ath6kl_core.ko module. This also makes it possible to link both sdio and usb code to kernel at the same time, which earlier failed miserably.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
45eaa78f |
| 17-Jan-2012 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: create core.c
Currently core functions are spread between various files, group all the functions into file and rename the functions to follow the style used elsewhere in the driver. This wil
ath6kl: create core.c
Currently core functions are spread between various files, group all the functions into file and rename the functions to follow the style used elsewhere in the driver. This will make it easier to a separate core module.
Also fix a bug where wiphy is freed too early.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
46d33a21 |
| 17-Jan-2012 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: unify cfg80211 init/cleanup functions
Group them together and change the naming to follow the common style in ath6kl. No functional changes.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.co
ath6kl: unify cfg80211 init/cleanup functions
Group them together and change the naming to follow the common style in ath6kl. No functional changes.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
c25889e8 |
| 17-Jan-2012 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: rename vif init and cleanup functions
ath6kl_cfg80211_vif_init/cleanup() follow more closely the style used elsewhere in ath6kl.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
c1762a3f |
| 12-Jan-2012 |
Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> |
ath6kl: Add support for uAPSD
* A new APSD power save queue is added in the station structure. * When a station has APSD capability and goes to power save, the frame designated to the station will
ath6kl: Add support for uAPSD
* A new APSD power save queue is added in the station structure. * When a station has APSD capability and goes to power save, the frame designated to the station will be buffered in APSD queue. * When the host receives a frame which the firmware marked as trigger, host delivers the buffered frame from the APSD power save queue. Number of frames to deliver is decided by MAX SP length. * When a station moves from sleep to awake state, all frames buffered in APSD power save queue are sent to the firmware. * When a station is disconnected, all frames bufferes in APSD power save queue are dropped. * When the host queues the first frame to the APSD queue or removes the last frame from the APSD queue, it is indicated to the firmware using WMI_AP_APSD_BUFFERED_TRAFFIC_CMD.
kvalo: fix buggy handling of sks queues, made it more obvious the user priority when wmm is disabled, remove unneed else block and combined some variable declarations
Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
8232736d |
| 09-Jan-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath6kl: Fix listen interval handling
This patch addresses a few problems with the commit:
"ath6kl: Implement support for listen interval from userspace"
* The debugfs file required for reading/wri
ath6kl: Fix listen interval handling
This patch addresses a few problems with the commit:
"ath6kl: Implement support for listen interval from userspace"
* The debugfs file required for reading/writing the listen interval wasn't created. Fix this.
* The interface index was being hardcoded to zero. Fix this.
* Two separate parameters, "listen_interval_time and listen_interval_beacons" were being used. This fails to work as expected because the FW assigns higher precedence to "listen_interval_beacons" and "listen_interval_time" ends up being never used at all.
To handle this, fix the host driver to exclusively use listen interval based on units of beacon intervals.
To set the listen interval, a user would now do something like this:
echo "10" > /sys/kernel/debug/ieee80211/*/ath6kl/listen_interval
kvalo: fix two checkpatch warnings
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
4a8ce2fd |
| 09-Jan-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath6kl: Remove redundant pointer check
'params' is already used earlier and there is no point in checking for a NULL condition again.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Sig
ath6kl: Remove redundant pointer check
'params' is already used earlier and there is no point in checking for a NULL condition again.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2 |
|
#
80abaf9b |
| 03-Jan-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Implement ndo_set_rx_mode()
There are maximum of seven multicast filter are supported by hw. When the requested number of filters exceeds the maximum supported one, multicast filtering is co
ath6kl: Implement ndo_set_rx_mode()
There are maximum of seven multicast filter are supported by hw. When the requested number of filters exceeds the maximum supported one, multicast filtering is completely disabled, the requested filters will be configured in firmware and the only multicast frames that host is interested in will be passed to host for further processing otherwise.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
show more ...
|
#
792ecb33 |
| 29-Dec-2011 |
Vivek Natarajan <nataraja@qca.qualcomm.com> |
ath6kl: Remove redundant key_index check.
Less-than-zero comparison of an unsigned value is never true.
kvalo: remove WMI_MIN_KEY_INDEX altogether, it's useless
Signed-off-by: Vivek Natarajan <nat
ath6kl: Remove redundant key_index check.
Less-than-zero comparison of an unsigned value is never true.
kvalo: remove WMI_MIN_KEY_INDEX altogether, it's useless
Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
ba1f6fe3 |
| 27-Dec-2011 |
Jouni Malinen <jouni@qca.qualcomm.com> |
ath6kl: Advertise TX/RX support for frames in AP mode
This is needed to fix current hostapd/wpa_supplicant AP operations for frame registration. P2P GO mode already advertised these, but AP mode was
ath6kl: Advertise TX/RX support for frames in AP mode
This is needed to fix current hostapd/wpa_supplicant AP operations for frame registration. P2P GO mode already advertised these, but AP mode was forgotten and could not be used after the hostapd/wpa_supplicant frame registration changes.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
33e5308d |
| 27-Dec-2011 |
Jouni Malinen <jouni@qca.qualcomm.com> |
ath6kl: Add del_station cfg80211_ops
hostapd/wpa_supplicant AP mode uses this operation to flush the station entries. Implement this in ath6kl to avoid unnecessary warnings from NL80211_CMD_DEL_STAT
ath6kl: Add del_station cfg80211_ops
hostapd/wpa_supplicant AP mode uses this operation to flush the station entries. Implement this in ath6kl to avoid unnecessary warnings from NL80211_CMD_DEL_STATION failing.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc7 |
|
#
e68f6750 |
| 22-Dec-2011 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath6kl: Fix panic when setting a channel
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
ath6kl: Fix panic when setting a channel
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: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc6 |
|
#
c08631c6 |
| 16-Dec-2011 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Send own IP addr to the firmware during WOW suspend
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, fi
ath6kl: Send own IP addr to the firmware during WOW suspend
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: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|