GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
15 years agoath9k: Unlock sc->mutex on error path
Jouni Malinen [Tue, 24 Feb 2009 11:40:01 +0000 (13:40 +0200)]
ath9k: Unlock sc->mutex on error path

An error path in ath9k_add_interface() did not unlock the sc->mutex and
could leave the driver in quite unresponsive state.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: checkpatch.pl cleanups
John Daiker [Tue, 24 Feb 2009 10:16:42 +0000 (02:16 -0800)]
b43: checkpatch.pl cleanups

Keeping this one simple.

Changing a few "foo * bar" to "foo *bar"

Removes 22 checkpatch.pl errors, with no introduced warnings.

Signed-off-by: John Daiker <daikerjohn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: re-add iwl_poll_direct_bit return value check
Jason Andryuk [Tue, 24 Feb 2009 02:45:34 +0000 (21:45 -0500)]
iwl3945: re-add iwl_poll_direct_bit return value check

Re-add the iwl_poll_direct_bit return value assignment dropped in
"iwl3945: add apm ops".

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: initialize is_valid_rtc_data_addr function pointer
Jason Andryuk [Tue, 24 Feb 2009 02:43:30 +0000 (21:43 -0500)]
iwl3945: initialize is_valid_rtc_data_addr function pointer

Initialize is_valid_rtc_data_addr function pointer for iwl3945 to
prevent a NULL pointer dereference in iwl_dump_nic_error_log.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Remove bogus integer truncation warnings
Michael Buesch [Mon, 23 Feb 2009 21:52:26 +0000 (22:52 +0100)]
b43: Remove bogus integer truncation warnings

"warning: large integer implicitly truncated to unsigned type"

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Give it some time to do the TSF sync
Alina Friedrichsen [Sun, 22 Feb 2009 17:19:33 +0000 (18:19 +0100)]
mac80211: Give it some time to do the TSF sync

Give slow hardware some time to do the TSF sync, to not run into an
IBSS merging endless loop in some rarely situations.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Don't merge with the same BSSID
Alina Friedrichsen [Sat, 21 Feb 2009 23:07:28 +0000 (00:07 +0100)]
mac80211: Don't merge with the same BSSID

It was not a good idea to do a TSF reset on strange IBSS merges to the same BSSID. For example it will break the TSF sync of ath9k completely and it is unnecessary as all hardware I have tested do a TSF sync to a higher value automatically and IBSS merges are only done to higher TSF values. It only need a TSF reset to accept a lower value, when the IBSS network is changed manually.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: fix 802.11g conformance test limit typo
Bob Copeland [Sat, 21 Feb 2009 19:44:18 +0000 (14:44 -0500)]
ath9k: fix 802.11g conformance test limit typo

802.11g is in 2 ghz band, not 5 ghz.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: prevent accessing memory outside the firmware image
David Kilroy [Sat, 21 Feb 2009 16:52:54 +0000 (16:52 +0000)]
orinoco: prevent accessing memory outside the firmware image

Do this by indicating the end of the appropriate regions of memory.

Note that MAX_PDA_SIZE should only apply to the PDA block read from
flash/EEPROM, and has been erronously applied to the pdr elements.
Remove the macro, and use the actual PDA size passed down by the caller.

We also fix up some of the types used, marking as much as possible
const, and using void* for the end pointers.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: validate firmware header
David Kilroy [Sat, 21 Feb 2009 16:52:53 +0000 (16:52 +0000)]
orinoco: validate firmware header

Check the Agere firmware headers for validity before attempting to
download it.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: add link to the TODO list
Kalle Valo [Sat, 21 Feb 2009 07:53:37 +0000 (09:53 +0200)]
at76c50x-usb: add link to the TODO list

It's easier to have the TODO list in wiki, so add a link to the list.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: additional disconnect fixes
Jason Andryuk [Sat, 21 Feb 2009 07:53:29 +0000 (09:53 +0200)]
at76c50x-usb: additional disconnect fixes

Additional attempts to fix Oops on disconnect, that appear to be successful.
However, some may be extraneous.

The cancel_delayed_work call is probably the most necessary.  The
device_unplugged check may not be necessary.  del_timer_sync may not
be necessary either, but the Oops I was receiving was related to
timers.  Hence the addition.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: clean up DMA on stack
Jason Andryuk [Sat, 21 Feb 2009 07:53:22 +0000 (09:53 +0200)]
at76c50x-usb: clean up DMA on stack

Cleanup dma on stack issues:

- no DMA on stack
- cleanup unclear endianness issue

Corrected version of Oliver Neukum's original patch for at76_usb.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: fix oops on disconnect
Jason Andryuk [Sat, 21 Feb 2009 07:53:14 +0000 (09:53 +0200)]
at76c50x-usb: fix oops on disconnect

flush_workqueue needs to be called instead of the generic one and the
associated functions need to be modified to prevent re-adding
themselves to the workqueue.

The rx_tasklet is also killed in the small (?) chance it is scheduled.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: pass the regulatory_request to ignore_request
Luis R. Rodriguez [Sat, 21 Feb 2009 05:24:16 +0000 (00:24 -0500)]
cfg80211: pass the regulatory_request to ignore_request

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: do not kzalloc() again for a new request on __regulatory_hint
Luis R. Rodriguez [Sat, 21 Feb 2009 05:24:15 +0000 (00:24 -0500)]
cfg80211: do not kzalloc() again for a new request on __regulatory_hint

Since we already have a regulatory request from the workqueue use that
and avoid a new kzalloc()

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: pass the regulatory_request struct in __regulatory_hint()
Luis R. Rodriguez [Sat, 21 Feb 2009 05:24:14 +0000 (00:24 -0500)]
cfg80211: pass the regulatory_request struct in __regulatory_hint()

We were passing value by value, lets just pass the struct.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: make __regulatory_hint() static
Luis R. Rodriguez [Sat, 21 Feb 2009 05:24:13 +0000 (00:24 -0500)]
cfg80211: make __regulatory_hint() static

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: follow beacon hints on reg_notifier when world roaming
Luis R. Rodriguez [Sat, 21 Feb 2009 05:20:40 +0000 (00:20 -0500)]
ath9k: follow beacon hints on reg_notifier when world roaming

If we are roaming we allow to follow beacon hints.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: Add AP beacon regulatory hints
Luis R. Rodriguez [Sat, 21 Feb 2009 05:20:39 +0000 (00:20 -0500)]
cfg80211: Add AP beacon regulatory hints

When devices are world roaming they cannot beacon or do active scan
on 5 GHz or on channels 12, 13 and 14 on the 2 GHz band. Although
we have a good regulatory API some cards may _always_ world roam, this
is also true when a system does not have CRDA present. Devices doing world
roaming can still passive scan, if they find a beacon from an AP on
one of the world roaming frequencies we make the assumption we can do
the same and we also remove the passive scan requirement.

This adds support for providing beacon regulatory hints based on scans.
This works for devices that do either hardware or software scanning.
If a channel has not yet been marked as having had a beacon present
on it we queue the beacon hint processing into the workqueue.

All wireless devices will benefit from beacon regulatory hints from
any wireless device on a system including new devices connected to
the system at a later time.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: enable 5 GHz world roaming channels
Luis R. Rodriguez [Sat, 21 Feb 2009 05:20:38 +0000 (00:20 -0500)]
cfg80211: enable 5 GHz world roaming channels

The current static world regulatory domain is too restrictive,
we can use some 5 GHz channels world wide so long as they do not
touch frequencies which require DFS. The compromise is we must
also enforce passive scanning and disallow usage of a mode of
operation that beacons: (AP | IBSS | Mesh)

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: enable active-scan / beaconing on Ch 1-11 for world regdom
Luis R. Rodriguez [Sat, 21 Feb 2009 05:20:37 +0000 (00:20 -0500)]
cfg80211: enable active-scan / beaconing on Ch 1-11 for world regdom

This enables active scan and beaconing on Channels 1 through 11
on the static world regulatory domain.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: rename regdom_changed to regdom_changes() and use it
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:33 +0000 (00:04 -0500)]
cfg80211: rename regdom_changed to regdom_changes() and use it

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: allow drivers that agree on regulatory to agree
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:32 +0000 (00:04 -0500)]
cfg80211: allow drivers that agree on regulatory to agree

This allows drivers that agree on regulatory to share their
regulatory domain.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: comments style cleanup
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:31 +0000 (00:04 -0500)]
cfg80211: comments style cleanup

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: move all regulatory hints to workqueue
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:30 +0000 (00:04 -0500)]
cfg80211: move all regulatory hints to workqueue

All regulatory hints (core, driver, userspace and 11d) are now processed in
a workqueue.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: free rd on unlikely event on 11d hint
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:29 +0000 (00:04 -0500)]
cfg80211: free rd on unlikely event on 11d hint

This was never happening but it was still wrong, so correct it.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: remove likely from an 11d hint case
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:28 +0000 (00:04 -0500)]
cfg80211: remove likely from an 11d hint case

Truth of the matter this was confusing people so mark it as
unlikely as that is the case now.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: protect first access of last_request on 11d hint under mutex
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:27 +0000 (00:04 -0500)]
cfg80211: protect first access of last_request on 11d hint under mutex

We were not protecting last_request there is a small possible race
between an 11d hint and another routine which calls reset_regdomains()
which can prevent a valid country IE from being processed. This is
not critical as it will still be procesed soon after but locking prior
to it is correct.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: make regulatory_request use wiphy_idx instead of wiphy
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:26 +0000 (00:04 -0500)]
cfg80211: make regulatory_request use wiphy_idx instead of wiphy

We do this so later on we can move the pending requests onto a
workqueue. By using the wiphy_idx instead of the wiphy we can
later easily check if the wiphy has disappeared or not.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: add assert_cfg80211_lock() to ensure proper protection
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:25 +0000 (00:04 -0500)]
cfg80211: add assert_cfg80211_lock() to ensure proper protection

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: propagate -ENOMEM during regulatory_init()
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:24 +0000 (00:04 -0500)]
cfg80211: propagate -ENOMEM during regulatory_init()

Calling kobject_uevent_env() can fail mainly due to out of
memory conditions. We do not want to continue during such
conditions so propagate that as well instead of letting
cfg80211 load as if everything is peachy.

Additionally lets clarify that when CRDA is not called during
cfg80211's initialization _and_ if the error is not an -ENOMEM
its because kobject_uevent_env() failed to call CRDA, not because
CRDA failed. For those who want to find out why we also let you
do so by enabling the kernel config CONFIG_CFG80211_REG_DEBUG --
you'll get an actual stack trace.

So for now we'll treat non -ENOMEM kobject_uevent_env() failures as
non fatal during cfg80211's initialization.

CC: Greg KH <greg@kroah.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: add regulatory_hint_core() to separate the core reg hint
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:23 +0000 (00:04 -0500)]
cfg80211: add regulatory_hint_core() to separate the core reg hint

This makes the core hint path more readable and allows for us to
later make it obvious under what circumstances we need locking or not.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: disallow user requests prior to regulatory_init()
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:22 +0000 (00:04 -0500)]
nl80211: disallow user requests prior to regulatory_init()

If cfg80211 is built into the kernel there is perhaps a small
time window betwen nl80211_init() and regulatory_init() where
cfg80211_regdomain hasn't yet been initialized to let the
wireless core do its work. During that rare case and time
frame (if its even possible) we don't allow user regulatory
changes as cfg80211 is working on enabling its first regulatory
domain.

To check for cfg80211_regdomain we now contend the entire operation
using the cfg80211_mutex.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: rename cfg80211_drv_mutex to cfg80211_mutex
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:21 +0000 (00:04 -0500)]
cfg80211: rename cfg80211_drv_mutex to cfg80211_mutex

cfg80211_drv_mutex is protecting more than the driver list,
this renames it and documents what its currently supposed to
protect.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: add wiphy_idx_valid to check for wiphy_idx sanity
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:20 +0000 (00:04 -0500)]
cfg80211: add wiphy_idx_valid to check for wiphy_idx sanity

This will later be used by others, for now make use of it in
cfg80211_drv_by_wiphy_idx() to return early if an invalid
wiphy_idx has been provided.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: rename cfg80211_registered_device's idx to wiphy_idx
Luis R. Rodriguez [Sat, 21 Feb 2009 05:04:19 +0000 (00:04 -0500)]
cfg80211: rename cfg80211_registered_device's idx to wiphy_idx

Makes it clearer to read when comparing to ifidx

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Introduce a generic commit() to apply changes
Alina Friedrichsen [Sat, 21 Feb 2009 00:27:29 +0000 (01:27 +0100)]
mac80211: Introduce a generic commit() to apply changes

This patch introduces a generic commit() function which initiate a
new network joining process. It should be called after some interface
config changes, so that the changes get applied more cleanly. Currently
set_ssid() and set_bssid() call it. Others can be added in future
patches.

In version 1 the header files was forgotten, sorry.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Convert usage of b43_radio_maskset()
Michael Buesch [Fri, 20 Feb 2009 18:31:21 +0000 (19:31 +0100)]
b43: Convert usage of b43_radio_maskset()

This patch converts code to use the new b43_radio_maskset() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, mask, set;
@@

-b43_radio_write16(dev, addr, (b43_radio_read16(dev, addr) & mask) | set);
+b43_radio_maskset(dev, addr, mask, set);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Convert usage of b43_radio_mask()
Michael Buesch [Fri, 20 Feb 2009 18:30:10 +0000 (19:30 +0100)]
b43: Convert usage of b43_radio_mask()

This patch converts code to use the new b43_radio_mask() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, mask;
@@

-b43_radio_write16(dev, addr, b43_radio_read16(dev, addr) & mask);
+b43_radio_mask(dev, addr, mask);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Convert usage of b43_radio_set()
Michael Buesch [Fri, 20 Feb 2009 18:28:14 +0000 (19:28 +0100)]
b43: Convert usage of b43_radio_set()

This patch converts code to use the new b43_radio_set() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, set;
@@

-b43_radio_write16(dev, addr, b43_radio_read16(dev, addr) | set);
+b43_radio_set(dev, addr, set);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Convert usage of b43_phy_maskset()
Michael Buesch [Fri, 20 Feb 2009 18:26:27 +0000 (19:26 +0100)]
b43: Convert usage of b43_phy_maskset()

This patch converts code to use the new b43_phy_maskset() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, mask, set;
@@

-b43_phy_write(dev, addr, (b43_phy_read(dev, addr) & mask) | set);
+b43_phy_maskset(dev, addr, mask, set);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Convert usage of b43_phy_mask()
Michael Buesch [Fri, 20 Feb 2009 18:25:05 +0000 (19:25 +0100)]
b43: Convert usage of b43_phy_mask()

This patch converts code to use the new b43_phy_mask() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, mask;
@@

-b43_phy_write(dev, addr, b43_phy_read(dev, addr) & mask);
+b43_phy_mask(dev, addr, mask);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Convert usage of b43_phy_set()
Michael Buesch [Fri, 20 Feb 2009 18:22:36 +0000 (19:22 +0100)]
b43: Convert usage of b43_phy_set()

This patch converts code to use the new b43_phy_set() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, set;
@@

-b43_phy_write(dev, addr, b43_phy_read(dev, addr) | set);
+b43_phy_set(dev, addr, set);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: use private SDIO workqueue to avoid scheduling latency
Dan Williams [Fri, 20 Feb 2009 17:27:38 +0000 (12:27 -0500)]
libertas: use private SDIO workqueue to avoid scheduling latency

The libertas SDIO interface scheduled the packet worker, resulting in
unwanted latency for every data packet or command sent to the firmware.
Fix a bug on the SDIO probe error path too.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Implement sw scan callbacks
Michael Buesch [Fri, 20 Feb 2009 14:39:21 +0000 (15:39 +0100)]
b43: Implement sw scan callbacks

This implements the new sw scan callbacks in b43.
They are currently used to turn CFP update in the microcode off while scanning.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Add software scan notifiers
Michael Buesch [Fri, 20 Feb 2009 14:37:03 +0000 (15:37 +0100)]
mac80211: Add software scan notifiers

This adds optional notifier functions for software scan.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Enable PCI slow clock workaround, if needed.
Michael Buesch [Fri, 20 Feb 2009 13:58:59 +0000 (14:58 +0100)]
b43: Enable PCI slow clock workaround, if needed.

Enable the PCI slow clock workaround, if we're running a PCI core rev <= 10.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Honor the no-slow-clock boardflag
Michael Buesch [Fri, 20 Feb 2009 13:47:56 +0000 (14:47 +0100)]
b43: Honor the no-slow-clock boardflag

Do not turn off the crystal, if the boardflags tell us so.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Fix radio host flags
Michael Buesch [Fri, 20 Feb 2009 13:27:15 +0000 (14:27 +0100)]
b43: Fix radio host flags

This fixes initialization of some radio related hostflags.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Add slot count compiletime assertion
Michael Buesch [Fri, 20 Feb 2009 11:24:52 +0000 (12:24 +0100)]
b43: Add slot count compiletime assertion

This adds a compiletime assertion for a recently introduced
assumption on the slot counts.
The tx header cache handling code assumes that the TX slot count
can be divided evenly by the number of TX slots per frame.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add appropriate ANI values for AP mode
Sujith [Fri, 20 Feb 2009 09:43:28 +0000 (15:13 +0530)]
ath9k: Add appropriate ANI values for AP mode

The short calibration interval is different for AP
mode, fix this. Also, the timer should be rearmed in
the calibration routine during scanning.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix PCI shutdown sequence
Sujith [Fri, 20 Feb 2009 09:43:26 +0000 (15:13 +0530)]
ath9k: Fix PCI shutdown sequence

pci_release_region() has to be called after the device
has been disabled. Also remove a stray __init attribute.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix bug in EEPROM chainmask retrieval
Sujith [Fri, 20 Feb 2009 09:43:23 +0000 (15:13 +0530)]
ath9k: Fix bug in EEPROM chainmask retrieval

Using wrong chainmasks would have an adverse impact on performance.
This patch fixes chainmask retrieval for non-PCIE cards.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add PER to RC debug statistics
Sujith [Fri, 20 Feb 2009 09:43:20 +0000 (15:13 +0530)]
ath9k: Add PER to RC debug statistics

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove multiple macro occurrences
Sujith [Fri, 20 Feb 2009 09:43:13 +0000 (15:13 +0530)]
ath9k: Remove multiple macro occurrences

OLC_FOR_AR9280_20_LATER is defined in multiple places,
move it to a common location.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Don't reset TSF after scanning automatically
Alina Friedrichsen [Thu, 19 Feb 2009 22:46:31 +0000 (23:46 +0100)]
ath9k: Don't reset TSF after scanning automatically

Reset automatically the TSF on re-enabling beaconing after scanning
in IBSS mode causes several problems. For example a new created IBSS
network can't age before an other node has joined, because scans are
done automatically in that case. And several other strange bugs more...

The TSF reset is done manually in the higher level mac80211 code in
the cases were it's needed, so we don't need to do it here.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Optimize DMA buffers
Michael Buesch [Thu, 19 Feb 2009 22:45:43 +0000 (23:45 +0100)]
b43: Optimize DMA buffers

In the old days we used one slot per frame. But when we changed that to 2,
we didn't raise the overall slot count. Which resulted in an effective
division of two to the number of slots.

Double the number of TX slots, so we have an effective hardware queue
of 128 frames per QoS queue.

Also optimize the TX header cache handling. We don't need a cached TX header
for slots that will never carry an actual header.
So we reduce the memory consumption of the cache by 50%.

So as a net result we end up with more or less the same memory usage before
and after this patch (except a few tiny meta structures), but have twice
the number of TX slots available.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Fix DMA buffer size handling
Michael Buesch [Thu, 19 Feb 2009 22:39:26 +0000 (23:39 +0100)]
b43: Fix DMA buffer size handling

This fixes hidden bugs in the size handling of the DMA buffers.
This sets the RX buffer size to the theoretical max packet size and
fixes passing of the size values to the device (must not subtract the header offset).

These bugs are hidden and don't actually trigger due to the magic +100
offset for the buffer size.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Move DMA stop sanity check
Michael Buesch [Thu, 19 Feb 2009 19:17:36 +0000 (20:17 +0100)]
b43: Move DMA stop sanity check

Move the DMA stop sanity check up a few lines, so it's actually
theoretically possible to trigger. (But it still shouldn't trigger, of course).

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Filter out beacons from other BSS in STA mode
Vasanthakumar Thiagarajan [Thu, 19 Feb 2009 10:11:52 +0000 (15:41 +0530)]
ath9k: Filter out beacons from other BSS in STA mode

Passing beacons received from other BSS to s/w in non-scanning
state is unnecessary in STA mode. This patch filters them out in
h/w.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: dma mapping read and write changes
Fenghua Yu [Wed, 18 Feb 2009 23:54:33 +0000 (15:54 -0800)]
iwlwifi: dma mapping read and write changes

When iwlwifi runs on IOMMU, IOMMU generates a lot of PTE write faults
because PTE write bit is not set on some of PTE's. This is because iwlwifi
driver calls DMA mapping with PCI_DMA_TODEVICE which is read only in mapping
PTE. But iwlwifi device actually writes to the mapped page to update its contents.
This issue is not exposed in swiotlb. But VT-d hardware can capture this fault and
stop the fault transaction.

The iwl TX command contains a scratch field that is updated by uCode to
indicate retry counts. For 5000 series the patch is required also for
regular frames, but this patch does not differenciate.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: use SW rfkill from iwlwifi
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:32 +0000 (15:54 -0800)]
iwl3945: use SW rfkill from iwlwifi

Patch unifies use of SW rfkill between 3945 and agn driver.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: use iwl_isr
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:31 +0000 (15:54 -0800)]
iwl3945: use iwl_isr

iwl3945 uses iwl_isr and deletes duplicated iwl3945_isr.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: remove duplicate interrupt code
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:30 +0000 (15:54 -0800)]
iwl3945: remove duplicate interrupt code

Patch removes duplicate code to enable and disable interrupt.
iwl3945 now uses iwlwifi's functions.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: use iwl_rx_reply_error notification
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:29 +0000 (15:54 -0800)]
iwl3945: use iwl_rx_reply_error notification

Patch removes duplicate code from iwl3945 and uses
iwl_rx_reply_error and spectrum notifications from iwlwifi.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: use iwl rx handlers
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:28 +0000 (15:54 -0800)]
iwl3945: use iwl rx handlers

Patch removes duplicate rx handlers(pm_sleep and pm_debug) from 3945 and
uses handlers from iwlwifi.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: use iwl_mac_hw_scan callback
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:27 +0000 (15:54 -0800)]
iwl3945: use iwl_mac_hw_scan callback

3945 can use iwl_mac_hw_scan callback instead of
iwl3945_mac_hw_scan callback.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: use iwl_rx_scan handlers
Abhijeet Kolekar [Wed, 18 Feb 2009 23:54:26 +0000 (15:54 -0800)]
iwl3945: use iwl_rx_scan handlers

Patch makes use of iwl_rx_scan handler for 3945.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: convert at76_debug to an unsigned int
Jason Andryuk [Wed, 18 Feb 2009 20:41:04 +0000 (22:41 +0200)]
at76c50x-usb: convert at76_debug to an unsigned int

at76_debug should be an unsigned int as it used as a bit field.  In
fact, modprobe fails when trying to set at76_debug's high bit.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: update to latest mac80211 hw scan api
Jason Andryuk [Wed, 18 Feb 2009 20:40:57 +0000 (22:40 +0200)]
at76c50x-usb: update to latest mac80211 hw scan api

With the latest mac80211 stack, the driver needs to be updated for
cfg80211 scanning.  I based the changes off of modifications for
at76_usb found here:

http://johannes.sipsolutions.net/patches/old/all/2008-09-19-13:35/020-cfg80211-scan.patch

The trick was that max_signal also needs to be set to avoid a divide
by zero Oops.  I just guessed and used the value 100 for now.

kvalo: handpicked the change from two different patches

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoat76c50x-usb: add driver
Kalle Valo [Sat, 7 Feb 2009 07:27:10 +0000 (09:27 +0200)]
at76c50x-usb: add driver

This is a driver for usb devices based on at76c50x chipset. This is
a mac80211 port of the original at76_usb driver.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlagn: default to MAX_UCODE_BEACON_INTERVAL in iwl_adjust_beacon_interval
John W. Linville [Sat, 21 Feb 2009 00:03:31 +0000 (19:03 -0500)]
iwlagn: default to MAX_UCODE_BEACON_INTERVAL in iwl_adjust_beacon_interval

Default to MAX_UCODE_BEACON_INTERVAL if the output of
iwl_adjust_beacon_interval would otherwise be zero.  This prevents a
division by zero on my iwl5300-equipped Lenovo T400 with kernels that
include "mac80211: use cfg80211s BSS infrastructure".

This patch is a bit of a hack -- I'm not sure why iwl_setup_rxon_timing
is giving iwl_adjust_beacon_interval a zero input (which is the only way
it would output zero).  I would be happy to have a better fix.  But for
now, this makes my box boot...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Fix LO calibration txctl reg value
Roel Kluin [Sun, 15 Feb 2009 17:02:39 +0000 (18:02 +0100)]
b43: Fix LO calibration txctl reg value

This patch expands the parenthesis in the txctl reg write
of the LO calibration to enforce precedence rules.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: misplaced parentheses
Roel Kluin [Sun, 15 Feb 2009 15:27:24 +0000 (16:27 +0100)]
p54: misplaced parentheses

Only FIF_FCSFAIL is set due to parentheses

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoipw2x00: age scan results on resume
Dan Williams [Wed, 11 Feb 2009 18:26:06 +0000 (13:26 -0500)]
ipw2x00: age scan results on resume

Scanned BSS entries are timestamped with jiffies, which doesn't
increment across suspend and hibernate.  On resume, every BSS in the
scan list looks like it was scanned within the last 10 seconds,
irregardless of how long the machine was actually asleep.  Age scan
results on resume with the time spent during sleep so userspace has a
clue how old they really are.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: correct improper initialization of local variable
John W. Linville [Tue, 10 Feb 2009 18:53:01 +0000 (13:53 -0500)]
airo: correct improper initialization of local variable

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211/cfg80211: move iwrange handler to cfg80211
Johannes Berg [Wed, 18 Feb 2009 18:32:08 +0000 (19:32 +0100)]
mac80211/cfg80211: move iwrange handler to cfg80211

The previous patch made cfg80211 generally aware of the signal
type a given hardware will give, so now it can implement
SIOCGIWRANGE itself, removing more wext stuff from mac80211.
Might need to be a little more parametrized once we have
more hardware using cfg80211 and new hardware capabilities.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: clean up signal type
Johannes Berg [Wed, 18 Feb 2009 17:45:06 +0000 (18:45 +0100)]
cfg80211: clean up signal type

It wasn't a good idea to make the signal type a per-BSS option,
although then it is closer to the actual value. Move it to be
a per-wiphy setting, update mac80211 to match.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: remove admin requirement from station get
Johannes Berg [Wed, 18 Feb 2009 09:48:07 +0000 (10:48 +0100)]
nl80211: remove admin requirement from station get

There's no particular reason to not let untrusted users see
this information -- it's just the stations we're talking to,
packet counters for them and possibly some mesh things.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add missing kernel-doc
Johannes Berg [Wed, 18 Feb 2009 08:56:47 +0000 (09:56 +0100)]
mac80211: add missing kernel-doc

Document the new shutdown member.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix PTK/GTK handshake timeout
Vasanthakumar Thiagarajan [Wed, 18 Feb 2009 04:52:02 +0000 (10:22 +0530)]
ath9k: Fix PTK/GTK handshake timeout

Some APs don't start BA negotiation with the client before it is done
with the key handshake in WPA/RSN. With those APs, key handshake times
out if EAPOL frames are sent after addba request. So defer the BA negotiation
until we are done with tx/rx of all EAPOL frames.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211/mac80211: fill qual.qual value/adjust max_qual.qual
Johannes Berg [Wed, 18 Feb 2009 17:27:22 +0000 (18:27 +0100)]
cfg80211/mac80211: fill qual.qual value/adjust max_qual.qual

Due to various bugs in the software stack we end up having
to fill qual.qual; level should be used, but wpa_supplicant
doesn't properly ignore qual.qual, NM should use qual.level
regardless of that because qual.qual is 0 but doesn't handle
IW_QUAL_DBM right now.

So fill qual.qual with the qual.level value clamped to
-110..-40 dBm or just the regular 'unspecified' signal level.
This requires a mac80211 change to properly announce the
max_qual.qual and avg_qual.qual values.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: age scan results on resume
Dan Williams [Wed, 11 Feb 2009 22:14:43 +0000 (17:14 -0500)]
cfg80211: age scan results on resume

Scanned BSS entries are timestamped with jiffies, which doesn't
increment across suspend and hibernate.  On resume, every BSS in the
scan list looks like it was scanned within the last 10 seconds,
irregardless of how long the machine was actually asleep.  Age scan
results on resume with the time spent during sleep so userspace has a
clue how old they really are.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Fix RF offset
Ivo van Doorn [Tue, 17 Feb 2009 13:04:29 +0000 (14:04 +0100)]
rt2x00: Fix RF offset

The word_base is in bytes instead of word index number,
this means that when using it, it should be transformed into
a word index first.

Otherwise RF register reading will fail through debugfs since
we would start reading 4 words starting with word 4 (which is the last
valid word for RF).

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Provide access to STA TX/RX packet counters
Jouni Malinen [Tue, 17 Feb 2009 11:24:57 +0000 (13:24 +0200)]
nl80211: Provide access to STA TX/RX packet counters

The TX/RX packet counters are needed to fill in RADIUS Accounting
attributes Acct-Output-Packets and Acct-Input-Packets. We already
collect the needed information, but only the TX/RX bytes were
previously exposed through nl80211. Allow applications to fetch the
packet counters, too, to provide more complete support for accounting.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Use beacon interval directly
Sujith [Tue, 17 Feb 2009 10:06:35 +0000 (15:36 +0530)]
ath9k: Use beacon interval directly

Setting up the CAB queue requires only the beacon interval,
remove the function ath_get_beaconconfig() which is redundant.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove ath_txq_depth and get the queue depth directly
Sujith [Tue, 17 Feb 2009 10:06:33 +0000 (15:36 +0530)]
ath9k: Remove ath_txq_depth and get the queue depth directly

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove a few unused capability macros
Sujith [Tue, 17 Feb 2009 10:06:31 +0000 (15:36 +0530)]
ath9k: Remove a few unused capability macros

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Initialize channel change time
Sujith [Tue, 17 Feb 2009 10:06:25 +0000 (15:36 +0530)]
ath9k: Initialize channel change time

Set channel change time to 5ms, this will improve scan results.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Optional IEs into scan request
Jouni Malinen [Mon, 16 Feb 2009 17:39:13 +0000 (19:39 +0200)]
nl80211: Optional IEs into scan request

This extends the NL80211_CMD_TRIGGER_SCAN command to allow applications
to specify a set of information element(s) to be added into Probe
Request frames with NL80211_ATTR_IE. This provides support for the
MLME-SCAN.request primitive parameter VendorSpecificInfo and can be
used, e.g., to implement WPS scanning.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix antenna assignment bug in TX status processing
Sujith [Mon, 16 Feb 2009 07:53:21 +0000 (13:23 +0530)]
ath9k: Fix antenna assignment bug in TX status processing

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix HW wait timeout
Sujith [Mon, 16 Feb 2009 07:53:20 +0000 (13:23 +0530)]
ath9k: Fix HW wait timeout

RX and calibration have different timeout requirements.
This patch fixes it by changing the HW wait routine
to accept a timeout value.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Program the RTC registers correctly
Sujith [Mon, 16 Feb 2009 07:53:12 +0000 (13:23 +0530)]
ath9k: Program the RTC registers correctly

This patch programs the RTC registers of AR9100 chipsets
correctly during chip reset.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: compute rts/cts duration after computing full pktlen
Bob Copeland [Sun, 15 Feb 2009 17:06:12 +0000 (12:06 -0500)]
ath5k: compute rts/cts duration after computing full pktlen

RTS and CTS-to-self duration needs to go after ICV len is considered.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: move beacon processing to a tasklet
Bob Copeland [Sun, 15 Feb 2009 17:06:11 +0000 (12:06 -0500)]
ath5k: move beacon processing to a tasklet

We currently send beacons directly from the interrupt routine.  This
can hold up interrupt processing in beaconing modes and makes the
ISR somewhat more complex.  Move it to a tasklet like rx and tx.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: use spin_lock_irqsave for beacon lock
Bob Copeland [Sun, 15 Feb 2009 17:06:10 +0000 (12:06 -0500)]
ath5k: use spin_lock_irqsave for beacon lock

ath5k_reset can be called from process context, which in turn can
call ath5k_beacon_config which takes the sc->block spinlock.  Since
it can also be taken in hard irq context, use spin_lock_irqsave
everywhere.  This fixes a potential deadlock in adhoc mode.

Changes-licensed-under: 3-Clause-BSD

Cc: stable@kernel.org
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: don't mask off interrupt bits
Bob Copeland [Sun, 15 Feb 2009 17:06:09 +0000 (12:06 -0500)]
ath5k: don't mask off interrupt bits

Since interrupts are already masked by the hardware, there's no need to
discard interrupt bits in the ISR itself.  Also, in ath5k_beacon_config
we mask off a couple of bits without locking, so doing this mask in
software can lead to unhandled beacon timer and beacon miss interrupts.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Add various new USB IDs for rt73usb
Ivo van Doorn [Sun, 15 Feb 2009 16:43:05 +0000 (17:43 +0100)]
rt2x00: Add various new USB IDs for rt73usb

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Remove check for rf word 0
Ivo van Doorn [Sun, 15 Feb 2009 16:42:48 +0000 (17:42 +0100)]
rt2x00: Remove check for rf word 0

The only way rf_write() can be called with word 0 is
when the user sends the wrong word index through debugfs.
However the values which are send through debugfs are
validated using the RF_BASE and RF_SIZE macro values,
the most logical solution is to increase RF_BASE with 4
and decrease RF_SIZE with 4 (RF_SIZE has always been
1 word too big)

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>