GitHub/mt8127/android_kernel_alcatel_ttab.git
13 years agomwl8k: Invert tx queues for set_hw_spec and set_edca_params
Nishant Sarmukadam [Thu, 17 Feb 2011 22:45:18 +0000 (14:45 -0800)]
mwl8k: Invert tx queues for set_hw_spec and set_edca_params

mac80211 and mwl8k FW tx queue priorities map inversely to each other.
Fix this.

Signed-off-by: Pradeep Nemavat <pnemavat@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Tested-by: Pradeep Nemavat <pnemavat@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomwl8k: Tell mac80211 we have rate adaptation in FW
Nishant Sarmukadam [Thu, 17 Feb 2011 22:45:17 +0000 (14:45 -0800)]
mwl8k: Tell mac80211 we have rate adaptation in FW

All mwl8k parts perform rate control in firmware.  Make this known to
mac80211 so that it does not launch minstrel.  Also, because actual tx
rate information is not available from the firmware, invalidate the
rate status before returning the skb to mac80211.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomwl8k: fix rf_antenna rx argument for AP
Nishant Sarmukadam [Thu, 17 Feb 2011 22:45:16 +0000 (14:45 -0800)]
mwl8k: fix rf_antenna rx argument for AP

When configuring rx antennas using CMD_RF_ANTENNA, the argument input is
the number of antennas to be enabled. For AP, we support 3 rx antennas
and hence set the field to 3. For tx antennas, value is a bitmap, so 0x7
enables all three.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: Pradeep Nemavat <pnemavat@marvell.com>
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca...
John W. Linville [Wed, 23 Feb 2011 21:23:00 +0000 (16:23 -0500)]
Merge branch 'for-linville' of git://git./linux/kernel/git/luca/wl12xx

13 years agoMerge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git...
John W. Linville [Wed, 23 Feb 2011 21:22:36 +0000 (16:22 -0500)]
Merge branch 'wireless-next-2.6' of git://git./linux/kernel/git/iwlwifi/iwlwifi-2.6

13 years agowl12xx: AP-mode - management of links in PS-mode
Arik Nemtsov [Tue, 22 Feb 2011 22:22:31 +0000 (00:22 +0200)]
wl12xx: AP-mode - management of links in PS-mode

Update the PS mode of each link according to a bitmap polled from
fw_status. Manually notify mac80211 about PS mode changes in connected
stations.

mac80211 will only be notified about PS start when the station is in PS
and there is a small number of TX blocks from this link ready in HW.
This is required for waking up the remote station since the TIM is
updated entirely by FW.

When a station enters mac80211-PS-mode, we drop all the skbs in the
low-level TX queues belonging to this sta with STAT_TX_FILTERED
to keep our queues clean.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: AP-mode - count free FW TX blocks per link
Arik Nemtsov [Tue, 22 Feb 2011 22:22:30 +0000 (00:22 +0200)]
wl12xx: AP-mode - count free FW TX blocks per link

Count the number of FW TX blocks allocated per link. We add blocks to a
link counter when allocated for a TX descriptor. We remove blocks
according to counters in fw_status indicating the number of freed blocks
in FW. These counters are polled after each IRQ.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: AP mode - fix bug in cleanup of wl1271_op_sta_add()
Arik Nemtsov [Tue, 22 Feb 2011 22:22:29 +0000 (00:22 +0200)]
wl12xx: AP mode - fix bug in cleanup of wl1271_op_sta_add()

Remove an active hlid when chip wakeup fails. In addition rename the
involved functions.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: AP-mode - support HW based link PS monitoring
Arik Nemtsov [Tue, 22 Feb 2011 22:22:28 +0000 (00:22 +0200)]
wl12xx: AP-mode - support HW based link PS monitoring

When operating in AP mode the wl1271 hardware filters out null-data
packets as well as management packets. This makes it impossible for
mac80211 to monitor the PS mode by using the PM bit of incoming frames.

Disable mac80211 automatic link PS-mode handling by supporting
IEEE80211_HW_AP_LINK_PS in HW flags.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: report invalid TX rate when returning non-TX-ed skbs
Arik Nemtsov [Tue, 22 Feb 2011 22:22:27 +0000 (00:22 +0200)]
wl12xx: report invalid TX rate when returning non-TX-ed skbs

Report a TX rate idx of -1 and count 0 when returning untransmitted
skbs to mac80211 using ieee80211_tx_status(). Otherwise mac80211
tries to use the returned (essentially garbage) status.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: AP-mode - TX queue per link in AC
Arik Nemtsov [Tue, 22 Feb 2011 22:22:26 +0000 (00:22 +0200)]
wl12xx: AP-mode - TX queue per link in AC

When operating in AP-mode we require a per link tx-queue.
This allows us to implement HW assisted PS mode for links,
as well as regulate per-link FW TX blocks consumption.
Split each link into ACs to support future QoS for AP-mode.

AC queues are emptied in priority and per-link queues are
scheduled in a simple round-robin fashion.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: AP-mode - fix race condition on sta connection
Arik Nemtsov [Tue, 22 Feb 2011 22:22:25 +0000 (00:22 +0200)]
wl12xx: AP-mode - fix race condition on sta connection

If a sta starts transmitting immediately after authentication, sometimes
the FW deauthenticates it. Fix this by marking the sta "in-connection"
in FW before sending the autentication response.

The "in-connection" entry is automatically removed when connection
succeeds or after a timeout.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: fix potential race condition with TX queue watermark
Arik Nemtsov [Tue, 22 Feb 2011 22:22:24 +0000 (00:22 +0200)]
wl12xx: fix potential race condition with TX queue watermark

Check the conditions for the high/low TX queue watermarks when the
spin-lock is taken. This prevents race conditions as tx_queue_count and
the flag checked are only modified when the spin-lock is taken.

The following race was in mind:
- Queues are almost full and wl1271_op_tx() will stop the queues, but it
  doesn't get the spin-lock yet.
- (on another CPU) tx_work_locked() dequeues 15 skbs from this queue and
  tx_queue_count is updated to reflect this
- wl1271_op_tx() does not check tx_queue_count after taking the
  spin-lock and incorrectly stops the queue.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: always set mac_address when configuring ht caps
Eliad Peller [Tue, 22 Feb 2011 22:27:07 +0000 (00:27 +0200)]
wl12xx: always set mac_address when configuring ht caps

The mac_address should be set also when ht caps are disabled.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: use standard ALIGN() macro
Eliad Peller [Tue, 22 Feb 2011 22:27:06 +0000 (00:27 +0200)]
wl12xx: use standard ALIGN() macro

Use the standard ALIGN() macro instead of redefining similar macros.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: declare support for IEEE80211_HW_REPORTS_TX_ACK_STATUS
Eliad Peller [Wed, 2 Feb 2011 09:20:05 +0000 (11:20 +0200)]
wl12xx: declare support for IEEE80211_HW_REPORTS_TX_ACK_STATUS

The wl12xx fw supports ack status reporting for tx frames, so
add the IEEE80211_HW_REPORTS_TX_ACK_STATUS flag to our supported
features.

Since we do the rate control in the fw, we'll probably want
to adjust the STA_LOST_PKT_THRESHOLD heuristics in the future, to
account for retransmissions as well.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: fix MODULE_AUTHOR email address
Luciano Coelho [Tue, 22 Feb 2011 12:19:28 +0000 (14:19 +0200)]
wl12xx: fix MODULE_AUTHOR email address

Change my old email address to the new one in MODULE_AUTHOR.

Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: avoid blocking while holding rcu lock on bss info change
Arik Nemtsov [Sat, 12 Feb 2011 21:24:20 +0000 (23:24 +0200)]
wl12xx: avoid blocking while holding rcu lock on bss info change

Some blocking functions were called while holding the rcu lock for
accessing STA information. This can lead to a deadlock.

Save the required info beforehand and release the rcu without
blocking.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: fix identification of beacon packets (debug)
Eliad Peller [Wed, 9 Feb 2011 10:25:14 +0000 (12:25 +0200)]
wl12xx: fix identification of beacon packets (debug)

for debugging purposes, wl12xx determines whether a rx packet
is a beacon packet.

however, it checks only the frame_control subtype without checking
the actual packet type, which leads to false identification in some
cases.

use ieee80211_is_beacon instead.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: update PLT initialization for new firmware
Gery Kahn [Tue, 1 Feb 2011 09:03:08 +0000 (03:03 -0600)]
wl12xx: update PLT initialization for new firmware

In revision > 6.1.3.0.0 the firmware expects memory configuration command
as part of boot. This was missing if driver boots in PLT mode.
The patch adds the memory configuration command, which fixes PLT commands
tx continuous and rx statistics.

Signed-off-by: Gery Kahn <geryk@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: change type from u8 to int
Dan Carpenter [Mon, 7 Feb 2011 16:47:42 +0000 (19:47 +0300)]
wl12xx: change type from u8 to int

ret is used to store int types.  Using an u8 will break the error
handling.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agoath9k_hw: Fix power on reset
Sujith Manoharan [Mon, 21 Feb 2011 11:37:12 +0000 (17:07 +0530)]
ath9k_hw: Fix power on reset

Commit "ath9k_hw: add an extra delay when reseting AR_RTC_RESET"
added an extra udelay to the reset routine. As the required
delay is already present, remove this.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Add support for RT5390 chip
RA-Shiang Tu [Sun, 20 Feb 2011 12:57:46 +0000 (13:57 +0100)]
rt2x00: Add support for RT5390 chip

Add new RT5390 chip support

Signed-off-by: Shiang Tu <shiang_tu@ralinktech.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Add/Modify the GPIO register definition
Shiang Tu [Sun, 20 Feb 2011 12:57:22 +0000 (13:57 +0100)]
rt2x00: Add/Modify the GPIO register definition

Revise/Add GPIO register related definitions

Signed-off-by: Shiang Tu <shiang_tu@ralinktech.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Add/Modify protection related register definitions
Shiang Tu [Sun, 20 Feb 2011 12:56:54 +0000 (13:56 +0100)]
rt2x00: Add/Modify protection related register definitions

Make the definition of protection related registers more precisely

Signed-off-by: Shiang Tu <shiang_tu@ralinktech.com>
Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Remove superfluos empty line
Helmut Schaa [Sun, 20 Feb 2011 12:56:26 +0000 (13:56 +0100)]
rt2x00: Remove superfluos empty line

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoRevert "rt2x00 : avoid timestamp for monitor injected frame."
Helmut Schaa [Sun, 20 Feb 2011 12:56:07 +0000 (13:56 +0100)]
Revert "rt2x00 : avoid timestamp for monitor injected frame."

This reverts commit e81e0aef32bfa7f593b14479b9c7eaa7196798ac "rt2x00 : avoid
timestamp for monitor injected frame." as it breaks proper timestamp insertion
into probe responses injected by hostapd for example.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Cc: Benoit PAPILLAULT <benoit.papillault@free.fr>
Cc: Alban Browaeys <prahal@yahoo.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Minor optimization for devices with RTS/CTS offload
Helmut Schaa [Sun, 20 Feb 2011 12:55:46 +0000 (13:55 +0100)]
rt2x00: Minor optimization for devices with RTS/CTS offload

Only devices that don't have RTS/CTS offload need to check for
IEEE80211_TX_RC_USE_RTS_CTS and IEEE80211_TX_RC_USE_CTS_PROTECT.

By swapping both conditions we keep the same number of needed conditionals
for devices without RTS/CTS offload but save one conditional on devices
with RTS/CTS offload.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Fix rt2800 txpower setting to correct value
RA-Jay Hung [Sun, 20 Feb 2011 12:55:25 +0000 (13:55 +0100)]
rt2x00: Fix rt2800 txpower setting to correct value

TX_PWR_CFG_* setting need to consider below cases
-compesate 20M/40M tx power delta for 2.4/5GHZ band
-limit maximum EIRP tx power to power_level of
 regulatory requirement

Signed-off-by: RA-Jay Hung <jay_hung@ralinktech.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Add antenna setting for RT3070/RT3090/RT3390 with RX antenna diversity support
RA-Jay Hung [Sun, 20 Feb 2011 12:54:52 +0000 (13:54 +0100)]
rt2x00: Add antenna setting for RT3070/RT3090/RT3390 with RX antenna diversity support

For RT3070/RT3090/RT3390 with RX antenna diversity support, we must select
default antenna using gpio control way even if we do not turn on
antenna diversity feature.

Seperate the meaning of TX/RX chain and antenna. Some chips use
2x2 TX/RX chain but may have 3 RX antennas or 1x1 TX/RX chain
but may have 2 RX antennas to do antenna diversity.

Signed-off-by: RA-Jay Hung <jay_hung@ralinktech.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Remove obsolete/unused macros
Larry Finger [Sat, 19 Feb 2011 22:30:02 +0000 (16:30 -0600)]
rtlwifi: Remove obsolete/unused macros

The original code has many macros that are no longer needed.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192ce: Fix endian warnings
Larry Finger [Sat, 19 Feb 2011 22:29:57 +0000 (16:29 -0600)]
rtlwifi: rtl8192ce: Fix endian warnings

Drivers rtlwifi, and rtl8192ce generate a large number of
sparse warnings. This patch fixes most of them.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Modify build system for rtl8192cu
Larry Finger [Sat, 19 Feb 2011 22:29:52 +0000 (16:29 -0600)]
rtlwifi: Modify build system for rtl8192cu

Modify Kconfig and Makefile to build rtl8192cu.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routine trx
George [Sat, 19 Feb 2011 22:29:47 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routine trx

Add routine rtlwifi/rtl8192cu/trx.c. This routine differs from the rtl8192ce
file of the same name.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routine table
George [Sat, 19 Feb 2011 22:29:42 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routine table

Add rtlwifi/rtl8192cu/table.c. These tables are different than the ones used
in rtl8192ce.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routine rf
George [Sat, 19 Feb 2011 22:29:37 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routine rf

Add rtlwifi/rtl8192cu/rf.c. This routine is distinct from the one in
rtl8192ce with the same name.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routine phy
George [Sat, 19 Feb 2011 22:29:32 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routine phy

Add the routine rtlwifi/rtl8192cu/phy.c. Most of the code is included from
rtlwifi/rtl8192c/phy_common.c.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routine mac
George [Sat, 19 Feb 2011 22:29:27 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routine mac

Add the routine rtlwifi/rtl8192cu/hw.c.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routine hw
George [Sat, 19 Feb 2011 22:29:22 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routine hw

Add the routine rtlwifi/rtl8192cu/hw.c. This one is distinct from the
routine of the same name in rtl8192ce.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192cu: Add routines dm, fw, led and sw
George [Sat, 19 Feb 2011 22:29:17 +0000 (16:29 -0600)]
rtlwifi: rtl8192cu: Add routines dm, fw, led and sw

Add the rtlwifi/rtl8192cu routines for dm.c, fw.c, led.c and sw.c.
Where possible, these routines use the corresponding code in rtl8192ce.

Signed-off-by: George <george0505@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Move common parts of rtl8192ce/phy.c
Larry Finger [Sat, 19 Feb 2011 22:29:12 +0000 (16:29 -0600)]
rtlwifi: Move common parts of rtl8192ce/phy.c

Move common routines from rtlwifi/rtl8192ce/phy.c and .../rtl8192cu/phy.c
into rtlwifi/rtl8192c/phy_common.c.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Modify wifi.h for rtl8192cu
Larry Finger [Sat, 19 Feb 2011 22:29:07 +0000 (16:29 -0600)]
rtlwifi: Modify wifi.h for rtl8192cu

Further merge of parameters needed for rtl8192cu. In addition,
some changes needed for rtl8192se and rtl8192de are included
and additional Hungarian notation is removed.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Add headers for rtl8187cu
George [Sat, 19 Feb 2011 22:29:02 +0000 (16:29 -0600)]
rtlwifi: Add headers for rtl8187cu

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: George <george0505@realtek.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Modify some rtl8192ce routines for merging rtl8192cu
Larry Finger [Sat, 19 Feb 2011 22:28:57 +0000 (16:28 -0600)]
rtlwifi: Modify some rtl8192ce routines for merging rtl8192cu

Modify some rtl8192ce routines for merging with rtl8192cu. In addition,
remove some usage of Hungarian notation.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Make changes in rtlwifi/rtl8192ce/def.h to support rtl8192cu
Larry Finger [Sat, 19 Feb 2011 22:28:52 +0000 (16:28 -0600)]
rtlwifi: Make changes in rtlwifi/rtl8192ce/def.h to support rtl8192cu

This change modifies rtlwifi/rtl8192ce/def.h to handle rtl8192cu. In
addition, a couple of routines needed for both drivers are converted
to be inline.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Make changes in rtlwifi/rtl8192ce/reg.h to support rtl8192cu
Larry Finger [Sat, 19 Feb 2011 22:28:47 +0000 (16:28 -0600)]
rtlwifi: Make changes in rtlwifi/rtl8192ce/reg.h to support rtl8192cu

This change modifies rtlwifi/rtl8192ce/reg.h to support rtl8192cu.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: Implement op_flush()
Vasanthakumar Thiagarajan [Sat, 19 Feb 2011 09:13:42 +0000 (01:13 -0800)]
ath9k: Implement op_flush()

When op_flush() is called with no drop (drop=false), the driver
tries to tx as many frames as possible in about 100ms on every
hw queue. During this time period frames from sw queue are also
scheduled on to respective hw queue.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowl12xx: fix sdio_test kconfig/build errors
Randy Dunlap [Sat, 19 Feb 2011 01:25:36 +0000 (17:25 -0800)]
wl12xx: fix sdio_test kconfig/build errors

The wl12xx sdio_test code uses wl12xx_get_platform_data, which is
only present when WL12*_SDIO is enabled, so make WL12XX_SDIO_TEST
depend on WL12XX_SDIO so that the needed interface will be present.

sdio_test.c:(.devinit.text+0x13178): undefined reference to `wl12xx_get_platform_data'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Luciano Coelho <luciano.coelho@nokia.com>
Cc: Roger Quadros <roger.quadros@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: Enable AR2315 chipset recognition
Wojciech Dubowik [Fri, 18 Feb 2011 12:06:42 +0000 (13:06 +0100)]
ath5k: Enable AR2315 chipset recognition

Enable recognition of AR2315 chipsets in ath5k driver.

Reported-by: Simon Morgenthaler <s.morgenthaler@students.unibe.ch>
Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoar9170usb: mark the old driver as obsolete
Christian Lamparter [Wed, 9 Feb 2011 21:13:11 +0000 (22:13 +0100)]
ar9170usb: mark the old driver as obsolete

AR9170USB will be replaced by carl9170 in the foreseeable
future [2.6.40].

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlwifi: split the drivers for agn and legacy devices 3945/4965
Wey-Yi Guy [Mon, 21 Feb 2011 19:27:26 +0000 (11:27 -0800)]
iwlwifi: split the drivers for agn and legacy devices 3945/4965

Intel WiFi devices 3945 and 4965 now have their own driver in the folder

drivers/net/wireless/iwlegacy

Add support to build these drivers independently of the driver for
AGN devices. Selecting the 3945 builds iwl3945.ko and iwl_legacy.ko,
and selecting the 4965 builds iwl4965.ko and iwl_legacy.ko. iwl-legacy.ko
contains code shared between both devices.

The 3945 is an ABG/BG device, with no support for 802.11n. The 4965 is a 2x3
ABGN device.

Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Acked-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoRevert "iwlwifi: split the drivers for agn and legacy devices 3945/4965"
Wey-Yi Guy [Mon, 21 Feb 2011 19:11:05 +0000 (11:11 -0800)]
Revert "iwlwifi: split the drivers for agn and legacy devices 3945/4965"

This reverts commit aa833c4b1a928b8d3c4fcc2faaa0d6b81ea02b56.

13 years agoiwlwifi: split the drivers for agn and legacy devices 3945/4965
Wey-Yi Guy [Mon, 21 Feb 2011 18:57:10 +0000 (10:57 -0800)]
iwlwifi: split the drivers for agn and legacy devices 3945/4965

Intel WiFi devices 3945 and 4965 now have their own driver in the folder

drivers/net/wireless/iwlegacy

Add support to build these drivers independently of the driver for
AGN devices. Selecting the 3945 builds iwl3945.ko and iwl_legacy.ko,
and selecting the 4965 builds iwl4965.ko and iwl_legacy.ko. iwl-legacy.ko
contains code shared between both devices.

The 3945 is an ABG/BG device, with no support for 802.11n. The 4965 is a 2x3
ABGN device.

Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Acked-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlwifi: enable 2-wire bt coex support for non-combo device
Wey-Yi Guy [Fri, 11 Feb 2011 16:13:14 +0000 (08:13 -0800)]
iwlwifi: enable 2-wire bt coex support for non-combo device

For non-combo devices, 2-wire BT coex is needed to make sure BT coex
still function with external BT devices

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlwifi: Loading correct uCode again when fail to load
Wey-Yi Guy [Tue, 8 Feb 2011 00:54:50 +0000 (16:54 -0800)]
iwlwifi: Loading correct uCode again when fail to load

During uCode loading, if the reply_alive come back with "failure",
try to load the same uCode again.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlwifi: Limit number of firmware reload
Wey-Yi Guy [Wed, 9 Feb 2011 17:37:46 +0000 (09:37 -0800)]
iwlwifi: Limit number of firmware reload

If device has serious problem and cause firmware can not recover itself.
Keep reloading firmware will not help, it can only fill up the syslog and
lock up the system because busy reloading.

Introduce the limit reload counter, if the reload reach the maximum within
the pre-defined duration;stop the reload operation.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoMerge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
John W. Linville [Fri, 18 Feb 2011 22:03:41 +0000 (17:03 -0500)]
Merge ssh:///linux/kernel/git/linville/wireless-2.6

Conflicts:
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c

13 years agomac80211: Clear PS related flag on disabling power save.
Vivek Natarajan [Fri, 18 Feb 2011 11:48:03 +0000 (17:18 +0530)]
mac80211: Clear PS related flag on disabling power save.

Clear IEEE80211_STA_NULLFUNC_ACKED flag on disabling power
save. Without this fix, there is a chance of setting CONF_PS
before sending nullfunc frame.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: Updates for AR9485 1.1 chipsets.
Vivek Natarajan [Fri, 18 Feb 2011 11:19:47 +0000 (16:49 +0530)]
ath9k_hw: Updates for AR9485 1.1 chipsets.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_htc: Fix a compilation warning.
Vivek Natarajan [Fri, 18 Feb 2011 10:39:51 +0000 (16:09 +0530)]
ath9k_htc: Fix a compilation warning.

Initialize caldata to avoid compilation warning.

CC [M]  drivers/net/wireless/ath/ath9k/htc_drv_main.o
drivers/net/wireless/ath/ath9k/htc_drv_main.c: In function ‘ath9k_htc_config’:
drivers/net/wireless/ath/ath9k/htc_drv_main.c:172: warning: ‘caldata’ may be used uninitialized in this function
drivers/net/wireless/ath/ath9k/htc_drv_main.c:172: note: ‘caldata’ was declared here

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agosmall adjustment to net/mac80211/Kconfig
Jan Beulich [Thu, 17 Feb 2011 13:36:19 +0000 (13:36 +0000)]
small adjustment to net/mac80211/Kconfig

"def_bool n" without prompt is pointless, this should be just "bool".

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: reset device only if it was enabled
Rafał Miłecki [Thu, 17 Feb 2011 00:50:51 +0000 (01:50 +0100)]
ssb: reset device only if it was enabled

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: when needed, reject IM input while disabling device
Rafał Miłecki [Thu, 17 Feb 2011 00:50:50 +0000 (01:50 +0100)]
ssb: when needed, reject IM input while disabling device

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agop54: implement flush callback
Christian Lamparter [Wed, 16 Feb 2011 18:43:06 +0000 (19:43 +0100)]
p54: implement flush callback

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: remove invalid define SSB_TMSLOW_PHYCLK
Rafał Miłecki [Wed, 16 Feb 2011 12:58:26 +0000 (13:58 +0100)]
ssb: remove invalid define SSB_TMSLOW_PHYCLK

It was incorrectly introduced in d2730b2a6a019d14455556019d744ab051e6554b. We
have already fixed function to use correct define, but forgot remove old one.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Cc: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: trivial: fix SPROM extract warning formatting
Rafał Miłecki [Wed, 16 Feb 2011 12:58:25 +0000 (13:58 +0100)]
ssb: trivial: fix SPROM extract warning formatting

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: fix 2.4 GHz 40 MHz disabling
Johannes Berg [Wed, 16 Feb 2011 07:46:58 +0000 (08:46 +0100)]
mac80211: fix 2.4 GHz 40 MHz disabling

The module parameter ieee80211_disable_40mhz_24ghz
was meant to allow disabling 40 MHz operation in
the 2.4 GHz band by default. However, it is buggy
as implemented because while it advertises to the
AP that the device doesn't support 40 MHz, it will
itself still use 40 MHz configurations.

To fix this, clear the 40 MHz bits from the sband
completely instead of overriding where used.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowireless-next-2.6: brcm80211: fix compile issue
Henry Ptasinski [Fri, 18 Feb 2011 05:29:01 +0000 (21:29 -0800)]
wireless-next-2.6: brcm80211: fix compile issue

Commit 59eb21a65047 "cfg80211: Extend channel to frequency mapping for 802.11j"
changed the definition of the ieee80211_channel_to_frequency; so fix its
usage in brcmfmac.

Signed-off-by: Stanislav Fomichev <kernel@fomichev.me>
Reviewed-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: Add power to debugfs.
Ben Greear [Tue, 15 Feb 2011 21:11:22 +0000 (13:11 -0800)]
mac80211: Add power to debugfs.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agop54: Fix compile warning
Larry Finger [Tue, 15 Feb 2011 15:37:06 +0000 (09:37 -0600)]
p54: Fix compile warning

If any of the p54-based drivers are built with CONFIG_P54_LEDS not
defined, the following warning is generated:

  CC [M]  drivers/net/wireless/p54/main.o
drivers/net/wireless/p54/main.c: In function ‘p54_register_common’:
drivers/net/wireless/p54/main.c:614:21: warning: unused variable ‘priv’

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: move external function definitions to a header file
Bob Copeland [Tue, 15 Feb 2011 14:19:28 +0000 (09:19 -0500)]
ath5k: move external function definitions to a header file

Johannes pointed out the mess of external function prototypes in the
mac80211-ops.c file.  Woe to anyone who changes these functions...

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: Make ssb_wait_bit multi-bit safe
Michael Büsch [Mon, 14 Feb 2011 23:21:50 +0000 (00:21 +0100)]
ssb: Make ssb_wait_bit multi-bit safe

ssb_wait_bit was designed for only one-bit bitmasks.
People start using it for multi-bit bitmasks. Make the "set" case
is safe for this. The "unset" case is already safe.

This does not change behavior of the current code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/blueto...
John W. Linville [Fri, 18 Feb 2011 21:49:17 +0000 (16:49 -0500)]
Merge branch 'master' of git://git./linux/kernel/git/padovan/bluetooth-next-2.6

13 years agoath5k: Correct channel setting for AR2317 chip
Nikolay Ledovskikh [Fri, 18 Feb 2011 16:59:53 +0000 (19:59 +0300)]
ath5k: Correct channel setting for AR2317 chip

Correct channel setting function must be used for AR2317.
When I tested ahb patch on bullet2 all seemed to work fine,
but it couldn't connect another host (using ibss for example).
During an analysis I observed that it's transmitting on another
channel. I looked into madwifi code and understood that
the problem is in channel setting function. So atheros RF2317 not
fully handled in the current ath5k version and must be patched.

Signed-off-by: Nikolay Ledovskikh <nledovskikh@gmail.com>
Acked-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowireless: rt2x00: rt2800pci.c: add two ids
Xose Vazquez Perez [Fri, 18 Feb 2011 13:27:09 +0000 (14:27 +0100)]
wireless: rt2x00: rt2800pci.c: add two ids

taken two RT35XX EDIMAX from DPO_RT3562_3592_3062_LinuxSTA_V2.4.1.1_20101217

Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: fix conn_mon_timer running after disassociate
Stanislaw Gruszka [Fri, 18 Feb 2011 08:05:08 +0000 (09:05 +0100)]
mac80211: fix conn_mon_timer running after disassociate

Low level driver could pass rx frames to us after disassociate, what
can lead to run conn_mon_timer by ieee80211_sta_rx_notify(). That
is obviously wrong, but nothing happens until we unload modules and
resources are used after free. If kernel debugging is enabled following
warning could be observed:

WARNING: at lib/debugobjects.c:259 debug_print_object+0x65/0x70()
Hardware name: HP xw8600 Workstation
ODEBUG: free active (active state 0) object type: timer_list
Modules linked in: iwlagn(-) iwlcore mac80211 cfg80211 aes_x86_64 aes_generic fuse cpufreq_ondemand acpi_cpufreq freq_table mperf xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod uinput hp_wmi sparse_keymap sg wmi arc4 microcode serio_raw ecb tg3 shpchp rfkill ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif firewire_ohci firewire_core crc_itu_t mptsas mptscsih mptbase scsi_transport_sas ahci libahci pata_acpi ata_generic ata_piix floppy nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: cfg80211]
Pid: 13827, comm: rmmod Tainted: G        W   2.6.38-rc4-wl+ #22
Call Trace:
 [<ffffffff810649cf>] ? warn_slowpath_common+0x7f/0xc0
 [<ffffffff81064ac6>] ? warn_slowpath_fmt+0x46/0x50
 [<ffffffff81226fc5>] ? debug_print_object+0x65/0x70
 [<ffffffff81227625>] ? debug_check_no_obj_freed+0x125/0x210
 [<ffffffff8109ebd7>] ? debug_check_no_locks_freed+0xf7/0x170
 [<ffffffff81156092>] ? kfree+0xc2/0x2f0
 [<ffffffff813ec5c5>] ? netdev_release+0x45/0x60
 [<ffffffff812f1067>] ? device_release+0x27/0xa0
 [<ffffffff81216ddd>] ? kobject_release+0x8d/0x1a0
 [<ffffffff81216d50>] ? kobject_release+0x0/0x1a0
 [<ffffffff812183b7>] ? kref_put+0x37/0x70
 [<ffffffff81216c57>] ? kobject_put+0x27/0x60
 [<ffffffff813d5d1b>] ? netdev_run_todo+0x1ab/0x270
 [<ffffffff813e771e>] ? rtnl_unlock+0xe/0x10
 [<ffffffffa0581188>] ? ieee80211_unregister_hw+0x58/0x120 [mac80211]
 [<ffffffffa0377ed7>] ? iwl_pci_remove+0xdb/0x22a [iwlagn]
 [<ffffffff8123cde2>] ? pci_device_remove+0x52/0x120
 [<ffffffff812f5205>] ? __device_release_driver+0x75/0xe0
 [<ffffffff812f5348>] ? driver_detach+0xd8/0xe0
 [<ffffffff812f4111>] ? bus_remove_driver+0x91/0x100
 [<ffffffff812f5b62>] ? driver_unregister+0x62/0xa0
 [<ffffffff8123d194>] ? pci_unregister_driver+0x44/0xa0
 [<ffffffffa0377df5>] ? iwl_exit+0x15/0x1c [iwlagn]
 [<ffffffff810ab492>] ? sys_delete_module+0x1a2/0x270
 [<ffffffff81498889>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff8100bf42>] ? system_call_fastpath+0x16/0x1b

Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/blueto...
John W. Linville [Fri, 18 Feb 2011 21:43:51 +0000 (16:43 -0500)]
Merge branch 'master' of git://git./linux/kernel/git/padovan/bluetooth-2.6

13 years agoBluetooth: fix checkpatch errors in af_bluetooth.c
Gustavo F. Padovan [Thu, 17 Feb 2011 22:24:05 +0000 (19:24 -0300)]
Bluetooth: fix checkpatch errors in af_bluetooth.c

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Fix errors reported by checkpatch.pl
Gustavo F. Padovan [Thu, 17 Feb 2011 22:22:19 +0000 (19:22 -0300)]
Bluetooth: Fix errors reported by checkpatch.pl

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: fix errors reported by checkpatch.pl
Gustavo F. Padovan [Thu, 17 Feb 2011 22:16:55 +0000 (19:16 -0300)]
Bluetooth: fix errors reported by checkpatch.pl

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Fix some code style issues in hci_event.c
Szymon Janc [Thu, 17 Feb 2011 15:44:23 +0000 (16:44 +0100)]
Bluetooth: Fix some code style issues in hci_event.c

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Fix some code style issues in hci_core.c
Szymon Janc [Thu, 17 Feb 2011 15:46:47 +0000 (16:46 +0100)]
Bluetooth: Fix some code style issues in hci_core.c

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Fix some code style issues in hci_core.h
Szymon Janc [Thu, 17 Feb 2011 15:42:00 +0000 (16:42 +0100)]
Bluetooth: Fix some code style issues in hci_core.h

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Clean up hci_sniff_subrate_evt function
Szymon Janc [Thu, 17 Feb 2011 13:16:33 +0000 (14:16 +0100)]
Bluetooth: Clean up hci_sniff_subrate_evt function

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>
Szymon Janc [Thu, 17 Feb 2011 13:16:32 +0000 (14:16 +0100)]
Bluetooth: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>

As warned by checkpatch.pl, use #include <linux/uaccess.h> instead of
<asm/uaccess.h>.

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Send LE Connection Update Command
Claudio Takahasi [Wed, 16 Feb 2011 22:44:53 +0000 (20:44 -0200)]
Bluetooth: Send LE Connection Update Command

If the new connection update parameter are accepted, the LE master
host sends the LE Connection Update Command to its controller informing
the new requested parameters.

Signed-off-by: Claudio Takahasi <claudio.takahasi@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Use proper timer for hci command timout
Ville Tervo [Wed, 16 Feb 2011 14:32:41 +0000 (16:32 +0200)]
Bluetooth: Use proper timer for hci command timout

Use proper timer instead of hci command flow control to timeout
failed hci commands. Otherwise stack ends up sending commands
when flow control is used to block new commands.

2010-09-01 18:29:41.592132 < HCI Command: Remote Name Request (0x01|0x0019) plen 10
    bdaddr 00:16:CF:E1:C7:D7 mode 2 clkoffset 0x0000
2010-09-01 18:29:41.592681 > HCI Event: Command Status (0x0f) plen 4
    Remote Name Request (0x01|0x0019) status 0x00 ncmd 0
2010-09-01 18:29:51.022033 < HCI Command: Remote Name Request Cancel (0x01|0x001a) plen 6
    bdaddr 00:16:CF:E1:C7:D7

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Make hci a child of the corresponding tty device.
Andrei Warkentin [Fri, 11 Feb 2011 23:19:26 +0000 (17:19 -0600)]
Bluetooth: Make hci a child of the corresponding tty device.

Make /sys/class/bluetooth/hciX a symlink to
path under corresponding tty.

Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Fix crash when ioctl(HCIUARTSETPROTO) fails
Gustavo F. Padovan [Tue, 15 Feb 2011 23:22:03 +0000 (20:22 -0300)]
Bluetooth: Fix crash when ioctl(HCIUARTSETPROTO) fails

If the fail happens the HCI del_timer may timeout after the the hci dev
unregister. This lead to a kernel crash.

Reported-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Add connection parameter update response
Claudio Takahasi [Fri, 11 Feb 2011 21:28:55 +0000 (19:28 -0200)]
Bluetooth: Add connection parameter update response

Implements L2CAP Connection Parameter Update Response defined in
the Bluetooth Core Specification, Volume 3, Part A, section 4.21.
Address the LE Connection Parameter Procedure initiated by the slave.

Connection Interval Minimum and Maximum have the same range: 6 to
3200. Time = N * 1.25ms. Minimum shall be less or equal to Maximum.
The Slave Latency field shall have a value in the range of 0 to
((connSupervisionTimeout / connIntervalMax) - 1). Latency field shall
be less than 500. connSupervisionTimeout = Timeout Multiplier * 10 ms.
Multiplier field shall have a value in the range of 10 to 3200.

Signed-off-by: Claudio Takahasi <claudio.takahasi@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Add LE signaling commands handling
Claudio Takahasi [Fri, 11 Feb 2011 21:28:54 +0000 (19:28 -0200)]
Bluetooth: Add LE signaling commands handling

This patch splits the L2CAP command handling function in order to
have a clear separation between the commands related to BR/EDR and
LE. Commands and responses in the LE signaling channel are not being
handled yet, command reject is sent to all received requests. Bluetooth
Core Specification, Volume 3, Part A, section 4 defines the signaling
packets formats and allowed commands/responses over the LE signaling
channel.

Signed-off-by: Claudio Takahasi <claudio.takahasi@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Use usb_fill_int_urb()
Gustavo F. Padovan [Mon, 14 Feb 2011 21:53:43 +0000 (18:53 -0300)]
Bluetooth: Use usb_fill_int_urb()

Instead set urb structure directly we call usb_fill_int_urb() to set the
values to us.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Add SMP command structures
Ville Tervo [Fri, 11 Feb 2011 01:38:54 +0000 (22:38 -0300)]
Bluetooth: Add SMP command structures

Add command structures for security manager protocol.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Treat LE and ACL links separately on timeout
Ville Tervo [Fri, 11 Feb 2011 01:38:53 +0000 (22:38 -0300)]
Bluetooth: Treat LE and ACL links separately on timeout

Separate LE and ACL timeouts. Othervise ACL connections
on non LE hw will time out after 45 secs.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Fix initiated LE connections
Vinicius Costa Gomes [Fri, 11 Feb 2011 01:38:52 +0000 (22:38 -0300)]
Bluetooth: Fix initiated LE connections

Fix LE connections not being marked as master.

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Do not send disconn comand over LE links
Ville Tervo [Fri, 11 Feb 2011 01:38:51 +0000 (22:38 -0300)]
Bluetooth: Do not send disconn comand over LE links

l2cap over LE links can be disconnected without sending
disconnect command first.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Add server socket support for LE connection
Ville Tervo [Fri, 11 Feb 2011 01:38:50 +0000 (22:38 -0300)]
Bluetooth: Add server socket support for LE connection

Add support for LE server sockets.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Add LE connection support to L2CAP
Ville Tervo [Fri, 11 Feb 2011 01:38:49 +0000 (22:38 -0300)]
Bluetooth: Add LE connection support to L2CAP

Add basic LE connection support to L2CAP. LE
connection can be created by specifying cid
in struct sockaddr_l2

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Use LE buffers for LE traffic
Ville Tervo [Fri, 11 Feb 2011 01:38:48 +0000 (22:38 -0300)]
Bluetooth: Use LE buffers for LE traffic

Bluetooth chips may have separate buffers for LE traffic.
This patch add support to use LE buffers provided by the chip.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
13 years agoBluetooth: Add LE connect support
Ville Tervo [Fri, 11 Feb 2011 01:38:47 +0000 (22:38 -0300)]
Bluetooth: Add LE connect support

Bluetooth V4.0 adds support for Low Energy (LE) connections.
Specification introduces new set of hci commands to control LE
connection. This patch adds logic to create, cancel and disconnect
LE connections.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>