Age | Commit message (Collapse) | Author |
|
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
|
|
Fix test in lbs_spi_thread(). down_interruptible() can return -EINTR, but
not EINTR.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Dan Williams <dcbw@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
The key documentation is slightly out of date, fix
that. Also, the list entry in the key struct is no
longer used that way, so list_del_init() isn't
necessary any more there.
Finally, ieee80211_key_link() is no longer invoked
under RCU read lock, but rather with an appropriate
station lock held.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
To inject a packet in monitor mode, a dummy station has
to be associated with the monitor interface in the target.
Failing to do this would result in a firmware crash on the device.
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
ath5k_eeprom_mode_from_channel() returns -1 on error but we're storing
the result in "ee_mode" which is an unsigned char. This breaks the
error handling. This patch makes "ee_mode" an int.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Remove some obvious looking dead code and rename few functions
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This reverts enables the reorder release timer once again.
The issues laid out in:
<http://www.spinics.net/lists/linux-wireless/msg57214.html>
Have been addressed by:
mac80211: serialize rx path workers
mac80211: ignore PSM bit of reordered frames
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This patch addresses the issue of serialization between
the main rx path and various reorder release timers.
<http://www.spinics.net/lists/linux-wireless/msg57214.html>
It converts the previously local "frames" queue into
a global rx queue [rx_skb_queue]. This way, everyone
(be it the main rx-path or some reorder release timeout)
can add frames to it.
Only one active rx handler worker [ieee80211_rx_handlers]
is needed. All other threads which have lost the race of
"runnning_rx_handler" can now simply "return", knowing that
the thread who had the "edge" will also take care of their
workload.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Restart the beacon timers only if the beacon
was already configured. Otherwise beacons timers
are restarted unnecessarily in unassociated state too.
Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This reverts commit 0ce3bcfc84900a64347b0fe1140229bd81314008.
Event though with the above commit we obtain the configured DTIM period
from the AP rather than always hardcoding it to '1', this seems to cause
problems under the following scenarios:
* Preventing association with broken AP's
* Adds latency in roaming
So its better to always use the safe value of '1' for dtim period
Cc: Jouni Malinen <Jouni.Malinen@Atheros.com>
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Fixes the misplaced article in the following:
"cfg80211: Updating information on frequency 5785 MHz for
20 a MHz width channel with regulatory rule:"
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Fixed a bug where if a mesh interface has a different MAC address from its bridge
interface, then it would not be able to send data traffic to any other mesh node.
This also adds support for communication between mesh nodes and external bridged
nodes by using a 6 address format if the source is a node within the mesh and the
destination is an external node proxied by a mesh portal.
Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
An Rx DMA descriptor can have multiple error bits set, and some error
bits (e.g. MIC failure) are filtered by the driver based on other criteria.
Remove the 'else' in various error bit checks so that all error information
is properly passed to the driver.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
And add the copyright/license header.
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
When returning to the operating channel, a full HW
reset has to be done instead of a fast channel change.
Since sw_scan_complete() is called after the config() call for the
home channel, we end up doing a FCC. Fix this issue by checking
the OFFCHANNEL flag to determine FCC.
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
The device has to be reset when a FATAL event is received.
Not doing so would leave the card in a non-working state.
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
There is no need to lock the various work cancellation
calls. This will be helpful when handling FATAL events.
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
When doing a channel change, the pending URBs have to be killed
properly on calling htc_stop().
This fixes the probe response timeout seen when sending UDP traffic at
a high rate and running background scan at the same time.
Cc: stable <stable@kernel.org>
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Some minor clean ups in assigning values to beacon config parameters
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This patch tackles one of the problems of my
reorder release timer patch from August.
<http://www.spinics.net/lists/linux-wireless/msg57214.html>
=>
What if the reorder release triggers and ap_sta_ps_end
(called by ieee80211_rx_h_sta_process) accidentally clears
the WLAN_STA_PS_STA flag, because 100ms ago - when the STA
was still active - frames were put into the reorder buffer.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
The comment doesn't match the code anymore. Fix that.
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>
|
|
Since the last user of intf->lock is gone we can safely remove it.
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>
|
|
Instead of protecting delayed_flags with a spinlock use atomic bitops to
make the code more readable.
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>
|
|
The tx desciptor already gets initialized to 0. Hence, there's no need
to explicitly assign 0 to mpdu_density here.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Backtrace:
rt2800usb_write_tx_data
rt2x00queue_write_tx_frame
rt2x00mac_tx
invoke_tx_handlers
__ieee80211_tx
ieee80211_tx
virt_to_head_page
ieee80211_xmit
ieee80211_tx_skb
ieee80211_scan_work
schedule
ieee80211_scan_work
process_one_work
...
It tried to expand the skb past it's end using skb_put. So I replaced it
with a call to skb_padto, which takes the issue into account.
Signed-off-by: Ismael Luceno <ismael.luceno@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Fix some pointer errors in the various calls to memcpy, memset and memmove.
Although none of these errors are fatal (the expression used now results in
the same pointer value) it is better to use the proper expression.
All errors are having to deal with arrays.
Signed-off-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>
|
|
The mac field of the rt2x00_intf structure is written to once and used
twice. In both these uses the mac address is available via other means.
Remove this field as it does not appear to be necessary.
Signed-off-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>
|
|
The bssid field in struct rt2x00_intf is only written to once, and is
never read from.
Remove this field, as it appears to not be needed.
Signed-off-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>
|
|
When DRIVER_REQUIRE_TXSTATUS_FIFO is set, intialize the
txstatus_fifo, but initialize rt2x00dev->txstatus_tasklet
only when both DRIVER_REQUIRE_TXSTATUS_FIFO and
rt2x00dev->ops->lib->txstatus_tasklet are set.
This allows the txstatus_fifo to be used by rt2800usb which
does not use txstatus_tasklet.
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This patch revamps some common code-paths which are
shared between (re-)initialization and suspend/resume
subroutines. It also adds some helpful comments
about quirks and associated difficulties.
It's quite big, but it should fix #25382:
<https://bugzilla.kernel.org/show_bug.cgi?id=25382>
And hopefully the code is robust enough to deal with
all possible suspend/resume scenarios without requiring
the user to do any sort of manual and possibly
dangerous work.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
By removing two "safety" msleeps (and an echo nop), the
channel change delay is effectively halved. Previously,
the delay could be as long as 260 ms and the device
could not go off-channel without risking to miss the
next DTIM beacon [interval ~307 ms].
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This patch adds a forgotten bail-out path.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
ath5k_reset is called from process context and takes the cc_lock
with plain spin_lock(), but cc_lock can also be taken from tasklets
in softirq context. Thus we need to at least use spin_lock_bh.
This fixes the following lockdep warning:
[ 19.967874] sky2 0000:01:00.0: eth0: enabling interface
[ 19.982761] ieee80211 phy0: device now idle
[ 20.904809] NET: Registered protocol family 17
[ 21.243857] ieee80211 phy0: device no longer idle - scanning
[ 21.404343]
[ 21.404346] =================================
[ 21.404450] [ INFO: inconsistent lock state ]
[ 21.404518] 2.6.37-rc7-wl+ #242
[ 21.404582] ---------------------------------
[ 21.404650] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
[ 21.404721] kworker/u:4/982 [HC0[0]:SC1[3]:HE1:SE0] takes:
[ 21.404792] (&(&common->cc_lock)->rlock){+.?...}, at: [<f8115780>] ath5k_ani_calibration+0x29/0x5d9 [ath5k]
[ 21.405011] {SOFTIRQ-ON-W} state was registered at:
[ 21.405011] [<c105cadd>] __lock_acquire+0x62f/0x13c1
[ 21.405011] [<c105d944>] lock_acquire+0xd5/0xf1
[ 21.405011] [<c12c978d>] _raw_spin_lock+0x45/0x72
[ 21.405011] [<f8111533>] ath5k_reset+0x2c0/0x349 [ath5k]
[ 21.405011] [<f8111a7a>] ath5k_start+0xb8/0x139 [ath5k]
[ 21.405011] [<f849c714>] ieee80211_do_open+0x13f/0x819 [mac80211]
[ 21.405011] [<f849ce51>] ieee80211_open+0x63/0x66 [mac80211]
[ 21.405011] [<c1258b2e>] __dev_open+0x8d/0xb6
[ 21.405011] [<c1255c64>] __dev_change_flags+0x9d/0x114
[ 21.405011] [<c1258a75>] dev_change_flags+0x18/0x44
[ 21.405011] [<c1262990>] do_setlink+0x23f/0x521
[ 21.405011] [<c1262d58>] rtnl_setlink+0xe6/0xea
[ 21.405011] [<c126347c>] rtnetlink_rcv_msg+0x18a/0x1a0
[ 21.405011] [<c126d5f0>] netlink_rcv_skb+0x35/0x7b
[ 21.405011] [<c12632eb>] rtnetlink_rcv+0x20/0x27
[ 21.405011] [<c126d370>] netlink_unicast+0x1bb/0x21e
[ 21.405011] [<c126db21>] netlink_sendmsg+0x23b/0x288
[ 21.405011] [<c124823c>] sock_sendmsg+0xac/0xc4
[ 21.405011] [<c1248680>] sys_sendmsg+0x152/0x1a2
[ 21.405011] [<c1249b0d>] sys_socketcall+0x214/0x275
[ 21.405011] [<c10029d0>] sysenter_do_call+0x12/0x36
[ 21.405011] irq event stamp: 138032
[ 21.405011] hardirqs last enabled at (138032): [<c12ca252>] _raw_spin_unlock_irqrestore+0x3b/0x5e
[ 21.405011] hardirqs last disabled at (138031): [<c12c98cc>] _raw_spin_lock_irqsave+0x18/0x7e
[ 21.405011] softirqs last enabled at (138024): [<f84a570e>] ieee80211_tx_skb+0x47/0x49 [mac80211]
[ 21.405011] softirqs last disabled at (138027): [<c100452b>] do_softirq+0x63/0xb4
[ 21.405011]
[ 21.405011] other info that might help us debug this:
[ 21.405011] 3 locks held by kworker/u:4/982:
[ 21.405011] #0: (name){+.+.+.}, at: [<c1046158>] process_one_work+0x1b8/0x41b
[ 21.405011] #1: ((&(&local->scan_work)->work)){+.+.+.}, at: [<c1046158>] process_one_work+0x1b8/0x41b
[ 21.405011] #2: (&local->mtx){+.+.+.}, at: [<f84920fb>] ieee80211_scan_work+0x32/0x4a4 [mac80211]
[ 21.405011]
[ 21.405011] stack backtrace:
[ 21.405011] Pid: 982, comm: kworker/u:4 Not tainted 2.6.37-rc7-wl+ #242
[ 21.405011] Call Trace:
[ 21.405011] [<c12c6e68>] ? printk+0x1d/0x25
[ 21.405011] [<c105a742>] print_usage_bug+0x181/0x18b
[ 21.405011] [<c105b196>] ? check_usage_forwards+0x0/0xb6
[ 21.405011] [<c105a9ec>] mark_lock+0x2a0/0x4aa
[ 21.405011] [<c1059f6d>] ? trace_hardirqs_off+0xb/0xd
[ 21.405011] [<c105ca68>] __lock_acquire+0x5ba/0x13c1
[ 21.405011] [<c1059eed>] ? trace_hardirqs_off_caller+0x18/0x8d
[ 21.405011] [<c1059f6d>] ? trace_hardirqs_off+0xb/0xd
[ 21.405011] [<c1050411>] ? local_clock+0x2c/0x4f
[ 21.405011] [<c1059e00>] ? save_trace+0x2/0xa0
[ 21.405011] [<c105ac39>] ? mark_held_locks+0x43/0x5b
[ 21.405011] [<c12ca252>] ? _raw_spin_unlock_irqrestore+0x3b/0x5e
[ 21.405011] [<f8115780>] ? ath5k_ani_calibration+0x29/0x5d9 [ath5k]
[ 21.405011] [<c105d944>] lock_acquire+0xd5/0xf1
[ 21.405011] [<f8115780>] ? ath5k_ani_calibration+0x29/0x5d9 [ath5k]
[ 21.405011] [<c12c9b1a>] _raw_spin_lock_bh+0x4a/0x77
[ 21.405011] [<f8115780>] ? ath5k_ani_calibration+0x29/0x5d9 [ath5k]
[ 21.405011] [<f8115780>] ath5k_ani_calibration+0x29/0x5d9 [ath5k]
[ 21.405011] [<c105ac39>] ? mark_held_locks+0x43/0x5b
[ 21.405011] [<f8113496>] ath5k_tasklet_ani+0x1d/0x27 [ath5k]
[ 21.405011] [<c1037304>] tasklet_action+0x96/0x137
[ 21.405011] [<c10379b5>] __do_softirq+0xde/0x1c3
[ 21.405011] [<c10b0cef>] ? arch_get_unmapped_area_topdown+0x3b/0x127
[ 21.405011] [<c10378d7>] ? __do_softirq+0x0/0x1c3
[ 21.405011] <IRQ> [<c1036dee>] ? irq_exit+0x3d/0x49
[ 21.405011] [<c1003b4f>] ? do_IRQ+0x98/0xac
[ 21.405011] [<c1002eee>] ? common_interrupt+0x2e/0x34
[ 21.405011] [<c103007b>] ? sys_unshare+0x57/0x226
[ 21.405011] [<c1047fee>] ? queue_delayed_work+0x1/0x27
[ 21.405011] [<f84a83a0>] ? ieee80211_queue_delayed_work+0x2e/0x33 [mac80211]
[ 21.405011] [<f8492528>] ? ieee80211_scan_work+0x45f/0x4a4 [mac80211]
[ 21.405011] [<c104620e>] ? process_one_work+0x26e/0x41b
[ 21.405011] [<c1046158>] ? process_one_work+0x1b8/0x41b
[ 21.405011] [<f84920c9>] ? ieee80211_scan_work+0x0/0x4a4 [mac80211]
[ 21.405011] [<c10466b6>] ? worker_thread+0x18a/0x2a5
[ 21.405011] [<c12ca25e>] ? _raw_spin_unlock_irqrestore+0x47/0x5e
[ 21.405011] [<c104652c>] ? worker_thread+0x0/0x2a5
[ 21.405011] [<c104abe7>] ? kthread+0x67/0x6c
[ 21.405011] [<c104ab80>] ? kthread+0x0/0x6c
[ 21.405011] [<c1002efa>] ? kernel_thread_helper+0x6/0x10
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
For the AR9002, the spur frequency read from the EEPROM is mangled
before being compared against AR_NO_SPUR. This results in the driver
trying to set up the spur mitigation for bogus spurs, rather than
cleanly breaking out.
Signed-off-by: Brian Prodoehl <bprodoehl@nomadio.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Simplify write file operation for /proc files by using
simple_write_to_buffer().
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Disabling BH is not required while running from a tasklet context
and so replace spin_lock_bh with just spin_lock.
Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Looks that we do not set correctly antennas when scanning
on 5Ghz band and when bluetooth is enabled, because
priv->cfg->scan_tx_antennas[band] is only defined for
IEEE80211_BAND_2GHZ.
To fix we check band before limiting antennas to first one.
This allow to remove hard coded cfg->scan_tx_antennas[band].
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Move mac80211 functions into new file mac80211-ops.c to have a better
separation and to make base.c smaller.
Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
|
|
master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6
|
|
commit ad0e2b5a00dbec303e4682b403bb6703d11dcdb2
Author: Johannes Berg <johannes.berg@intel.com>
Date: Tue Jun 1 10:19:19 2010 +0200
mac80211: simplify key locking
removed the synchronization against RCU and thus
opened a race window where we can use a key for
TX while it is already freed. Put a synchronisation
into the right place to close that window.
Reported-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: stable@kernel.org [2.6.36+]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Commit b51aff057c9d0ef6c529dc25fd9f775faf7b6c63 said:
Under memory pressure, the mac80211 mesh code
may helpfully print a message that it failed
to clone a mesh frame and then will proceed
to crash trying to use it anyway. Fix that.
Avoid the reference whenever the frame copy is unsuccessful
regardless of the debug message being suppressed or printed.
Cc: stable@kernel.org [2.6.27+]
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Since commit 6cd0b1cb872b3bf9fc5de4536404206ab74bafdd "iwlagn: fix
hw-rfkill while the interface is down", we enable interrupts when
device is not ready to receive them. However hardware, when it is in
some inconsistent state, can generate other than rfkill interrupts
and crash the system. I can reproduce crash with "kernel BUG at
drivers/net/wireless/iwlwifi/iwl-agn.c:1010!" message, when forcing
firmware restarts.
To fix only enable rfkill interrupt when down device and after probe.
I checked patch on laptop with 5100 device, rfkill change is still
passed to user space when device is down.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: stable@kernel.org
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
The correct name should be used for the newer devices, remove
reference to Gen2
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
|
# iw wlan0 interface add moni0 type monitor flags control
# ip link set moni0 up
causes a continuous spew of FH_ERROR from the
device. Fix this by not setting the CTL2HOST
filter by itself -- CTL + promisc works fine.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
|
For "led_mode" module parameters, string "led_mode" is duplicated twice,
remove one.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
|
Does not allow any channel different of HCI_CHANNEL_RAW and
HCI_CHANNEL_CONTROL to bind.
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
|
|
The initialization function used by hci_open_dev (hci_init_req) sends
many different HCI commands. The __hci_request function should only
return when all of these commands have completed (or a timeout occurs).
Several of these commands cause hci_req_complete to be called which
causes __hci_request to return prematurely.
This patch fixes the issue by adding a new hdev->req_last_cmd variable
which is set during the initialization procedure. The hci_req_complete
function will no longer mark the request as complete until the command
matching hdev->req_last_cmd completes.
Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
|
|
This patch adds Bluetooth Management interface events for controller
addition and removal. The events correspond to the existing HCI_DEV_REG
and HCI_DEV_UNREG stack internal events.
Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
|