GitHub/mt8127/android_kernel_alcatel_ttab.git
16 years agob43: Add lots of N-PHY lookup tables
Michael Buesch [Wed, 16 Jan 2008 01:14:23 +0000 (02:14 +0100)]
b43: Add lots of N-PHY lookup tables

This adds lots of N-PHY related lookup tables.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: style fixes to usage of << and >> operators
Reinette Chatre [Tue, 15 Jan 2008 01:46:25 +0000 (17:46 -0800)]
iwlwifi: style fixes to usage of << and >> operators

The << and >> operators need space on each side.

Cc: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove reference to non-existent documentation
Reinette Chatre [Tue, 15 Jan 2008 01:46:24 +0000 (17:46 -0800)]
iwlwifi: remove reference to non-existent documentation

The external iwlwifi driver comes with a README file that is
referenced by the Kconfig. This README is not present in the
driver included in the kernel. Remove references to this
documentation.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Update iwlwifi version stamp to 1.2.23
Zhu Yi [Tue, 15 Jan 2008 01:46:23 +0000 (17:46 -0800)]
iwlwifi: Update iwlwifi version stamp to 1.2.23

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: 3954 renames iwl3945_rate_scale_priv to iwl3945_rs_sta
Tomas Winkler [Mon, 28 Jan 2008 04:41:38 +0000 (20:41 -0800)]
iwlwifi: 3954 renames iwl3945_rate_scale_priv to iwl3945_rs_sta

This patch renames iwl3945_rate_scale_priv to iwl3945_rs_sta as it
better represents the purpose of this variable.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwlwifi: 4965 unify rate scale variable names for station data
Tomas Winkler [Tue, 15 Jan 2008 01:46:21 +0000 (17:46 -0800)]
iwlwifi: 4965 unify rate scale variable names for station data

1, This patch renames iwl4965_rate_scale_priv to iwl4965_lq_sta.
   This type represents a station's link quality.
2. The names of the variables of this type were rs_priv, lq_data, lq, crl
   across the file. All are now unified under the name lq_sta.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move uCode helper functions to iwl-helpers.h
Tomas Winkler [Tue, 15 Jan 2008 01:46:20 +0000 (17:46 -0800)]
iwlwifi: move uCode helper functions to iwl-helpers.h

This patch adds iwl_free_fw_desc ucode helper function.
It also moves ucode helper functions to iwl-helpers.h.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix problem when rf_killswitch change during suspend/resume
Zhu Yi [Thu, 24 Jan 2008 10:19:38 +0000 (02:19 -0800)]
iwlwifi: fix problem when rf_killswitch change during suspend/resume

After we delay device initialization until interface up, there are more
conditions for the hardware rf_kill switch states during suspend and
resume. For example, before suspend we can have interface up or down,
rf_kill enable or disable; before resume we can have rf_kill enable or
disable. So there are totally 2^3 = 8 conditions to handle. This patch
addressed this problem and makes sure every condition works correctly.

This patch also merges the device suspend and resume handlers with the
mac_start and mac_stop code since they are basically doing the same
thing.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwlwifi: delay firmware loading from pci_probe to network interface open
Zhu Yi [Tue, 15 Jan 2008 01:46:18 +0000 (17:46 -0800)]
iwlwifi: delay firmware loading from pci_probe to network interface open

This patch moves the firmware loading (read firmware from disk and load
it into the device SRAM) from pci_probe time to the first network
interface open time. There are two reasons for doing this:

1. To support kernel buildin iwlwifi drivers. Because kernel initializes
   network devices subsystem before hard disk and SATA subsystem, it is
   impossible to get the firmware image from hard disk in the PCI probe
   handler. Thus delaying the firmware loading into the network
   interface open time is the way to go. Note, we only read the firmware
   image from hard disk the first time the interface is open. After this
   is succeeded, we cache the firmware image into the host memory. This
   is a performance gain when user open and close the interface multiple
   times and is necessary for device suspend and resume.

2. For better power saving. When the iwlwifi modules are loaded (or
   buildin the kernel) but the wireless network interface is not being
   used, it is a good practice the wireless device consumes as less
   power as possible. Unloading the firmware from the wireless device
   and unregister the driver's interrupt handler in the network
   interface close handler provides users a way to achieve this. User
   space network configuration tools (i.e NetworkManager) can also
   contribute here when it detects a wired cable is connected and
   close the wireless interface automatically.

This patch also includes the pci_save/restore_state() fixed by Ian Schram
upon the first version.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Ian Schram <ischram@telenet.be>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: document scan command
Ben Cahill [Tue, 15 Jan 2008 01:46:17 +0000 (17:46 -0800)]
iwlwifi: document scan command

Document scan command.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove iwl4965_tx_cmd
Tomas Winkler [Tue, 15 Jan 2008 01:46:16 +0000 (17:46 -0800)]
iwlwifi: remove iwl4965_tx_cmd

This patch removes iwl4965_tx_cmd function and splits its content to
iwl4965_hw_build_tx_cmd_rate, iwl4965_build_tx_cmd_basic,
and iwl4965_tl_get_stats function. The latest one will be deprecated
when traffic load will move to rate scale module.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move iwl4965_get_dma_hi_address function to iwl-helpers.h
Tomas Winkler [Tue, 15 Jan 2008 01:46:15 +0000 (17:46 -0800)]
iwlwifi: move iwl4965_get_dma_hi_address function to iwl-helpers.h

This patch moves iwl4965_get_dma_hi_address function to iwl-headers.h
as iwl_get_dma_hi_address. This function will be used in more chipsets
than only 4965.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl4965: Remove redundant code in iwl4965_tx_cmd
Tomas Winkler [Tue, 15 Jan 2008 01:46:14 +0000 (17:46 -0800)]
iwl4965: Remove redundant code in iwl4965_tx_cmd

This function removes redundant code in iwl4965_tx_cmd
function, leftovers of previous design.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add NPHY channel switch code
Michael Buesch [Sun, 13 Jan 2008 23:05:57 +0000 (00:05 +0100)]
b43: Add NPHY channel switch code

This adds code and table data for channel switching on NPHYs.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add NPHY radio init code
Michael Buesch [Sun, 13 Jan 2008 20:23:44 +0000 (21:23 +0100)]
b43: Add NPHY radio init code

This adds some code to init the 2055 radio.
This patch adds two files "tables_nphy.h" and "tables_nphy.c"

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Add boardflags_hi field to the sprom data structure
Michael Buesch [Sun, 13 Jan 2008 20:08:24 +0000 (21:08 +0100)]
ssb: Add boardflags_hi field to the sprom data structure

Add boardflags-high.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add Broadcom 2055 radio register definitions
Michael Buesch [Sun, 13 Jan 2008 15:41:23 +0000 (16:41 +0100)]
b43: Add Broadcom 2055 radio register definitions

Add the register definitions for the Broadcom 2055 N-radio.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoWAVELAN - compile-time check for struct sizes
Helge Deller [Sun, 13 Jan 2008 14:16:34 +0000 (15:16 +0100)]
WAVELAN - compile-time check for struct sizes

Convert optional struct size checks to non-optional compile-time checks.
Furthermore BUILD_BUG_ON() which will be optimized away by the compiler.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add support for new firmware
Michael Buesch [Mon, 28 Jan 2008 22:47:41 +0000 (14:47 -0800)]
b43: Add support for new firmware

This patch adds support for new firmware.
Old firmware is still supported until July 2008.

To get new firmware, go to
ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/
and download the tarball. We don't have a smaller tarball, yet.
That will be fixed later.
You can extract firmware out of the "wl_ap.o" file contained
in this tarball using latest fwcutter. You must pass the option
--unsupported to fwcutter.
Fwcutter-010 with official support for a new firmware image will
be released soon.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agob43: Fix radio ID register reading
Michael Buesch [Sun, 13 Jan 2008 13:12:44 +0000 (14:12 +0100)]
b43: Fix radio ID register reading

This fixes reading of the high 16 bits of the radio ID
on new devices. 2055 radios want lo16 to be read first.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix queue_idx initialization
Ivo van Doorn [Thu, 10 Jan 2008 21:40:13 +0000 (22:40 +0100)]
rt2x00: Fix queue_idx initialization

For TX rings the queue_idx should start at
IEEE80211_TX_QUEUE_DATA0 and for each followup
ring this index needs to be increased.

For the RX ring the queue_idx should be set
to 0. We don't need to initialize the tx_params.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Data and desc pointer initialization
Ivo van Doorn [Thu, 10 Jan 2008 21:02:44 +0000 (22:02 +0100)]
rt2x00: Data and desc pointer initialization

rt2500usb and rt73usb data and desc pointer initialization
was incorrect because it was using uninitialized variables
to determine the length.

In addition rt2500usb used skb_pull and removed the ieee80211
from each received frame instead of using skb_trim to remove
the device descriptor from the frame.

Finally this also fixes the descriptor override when 4 byte
aligning occured. We still need a completely valid descriptor
when using the TX/RX dumping capabilities in debugfs.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add N-PHY related initvals firmware filenames.
Michael Buesch [Mon, 7 Jan 2008 11:55:14 +0000 (12:55 +0100)]
b43: Add N-PHY related initvals firmware filenames.

This adds the initval filenames for the N-PHY firmware.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix tim search buffer overrun
Michael Buesch [Thu, 27 Dec 2007 21:15:11 +0000 (22:15 +0100)]
b43: Fix tim search buffer overrun

Use the length of the variable section of the beacon instead of the
whole beacon length for bounds checking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Put multicast frames on the mcast queue
Michael Buesch [Wed, 26 Dec 2007 17:26:17 +0000 (18:26 +0100)]
b43: Put multicast frames on the mcast queue

This queues frames flagged as "send after DTIM" by mac80211
on the special multicast queue. The firmware will take care
to send the packet after the DTIM.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix template upload locking.
Michael Buesch [Wed, 26 Dec 2007 17:04:14 +0000 (18:04 +0100)]
b43: Fix template upload locking.

This fixes the template upload locking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix upload of beacon packets to the hardware
Michael Buesch [Wed, 26 Dec 2007 16:47:10 +0000 (17:47 +0100)]
b43: Fix upload of beacon packets to the hardware

This fixes uploading of the beacon data and writing of the
TIM and DTIM offsets.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add unified BSS configuration
Johannes Berg [Fri, 28 Dec 2007 13:32:58 +0000 (14:32 +0100)]
mac80211: add unified BSS configuration

This patch (based on Ron Rindjunsky's) creates a framework for
a unified way to pass BSS configuration to drivers that require
the information, e.g. for implementing power save mode.

This patch introduces new ieee80211_bss_conf structure that is
passed to the driver via the new bss_info_changed() callback
when the BSS configuration changes.

This new BSS configuration infrastructure adds the following
new features:
 * drivers are notified of their association AID
 * drivers are notified of association status

and replaces the erp_ie_changed() callback. The patch also does
the relevant driver updates for the latter change.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Fix rate reporting regression
Michael Wu [Wed, 26 Dec 2007 00:33:16 +0000 (19:33 -0500)]
mac80211: Fix rate reporting regression

Mattias Nissler's "clean up rate selection" patch incorrectly changes
the behavior of txrate setting in sta_info. This patch backs out parts
of the rate selection consolidation in order to fix this issue for now.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: A-MPDU Rx flow enabled
Ron Rindjunsky [Tue, 25 Dec 2007 15:00:38 +0000 (17:00 +0200)]
iwlwifi: A-MPDU Rx flow enabled

This patch enables the A-MPDU Rx flow. it contains several
adjustments to new mac80211 A-MPDU Rx flow.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: Fix frame duration oops
Luis R. Rodriguez [Fri, 4 Jan 2008 07:21:05 +0000 (02:21 -0500)]
ath5k: Fix frame duration oops

This patch fixes an oops which was introduced as a regression by
commit fd640775bd16e1df50c867cc547af0, on the patch titled,
"mac80211: dont use interface indices in drivers".

ieee80211_generic_frame_duration() now relies on sdata->flags which
itself gets set upon bringing the interface up. We check for the
virtual interface now before setting the rate duration registers.

After the mode changes are introduced onto mac80211 we should revisit
these changes.

This patch was tested on the following cards:

1) BG card:

Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43)
RF2112A 2GHz radio found (0x46)

2) ABG card:

Atheros AR5213A chip found (MAC: 0x59,PHY: 0x43)
RF5112A multiband radio found (0x36)

Signed-off-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: implement cfg80211 station handling
Johannes Berg [Wed, 19 Dec 2007 01:03:35 +0000 (02:03 +0100)]
mac80211: implement cfg80211 station handling

This implements station handling from userspace via cfg80211
in mac80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add beacon configuration via cfg80211
Johannes Berg [Wed, 19 Dec 2007 01:03:33 +0000 (02:03 +0100)]
mac80211: add beacon configuration via cfg80211

This patch implements the cfg80211 hooks for configuring beaconing
on an access point interface in mac80211. While doing so, it fixes
a number of races that could badly crash the machine when the
beacon is changed while being requested by the driver.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: move interface type to vif structure
Johannes Berg [Wed, 19 Dec 2007 00:31:27 +0000 (01:31 +0100)]
mac80211: move interface type to vif structure

Drivers that support mixed AP/STA operation may well need to
know the type of a virtual interface when iterating over them.
The easiest way to support that is to move the interface type
variable into the vif structure.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: dont use interface indices in drivers
Johannes Berg [Wed, 19 Dec 2007 00:31:26 +0000 (01:31 +0100)]
mac80211: dont use interface indices in drivers

This patch gets rid of the if_id stuff where possible in favour of
a new per-virtual-interface structure "struct ieee80211_vif". This
structure is located at the end of the per-interface structure and
contains a variable length driver-use data area.

This has two advantages:
 * removes the need to look up interfaces by if_id, this is better
   for working with network namespaces and performance
 * allows drivers to store and retrieve per-interface data without
   having to allocate own lists/hash tables

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoAdd rtl8180 wireless driver
Michael Wu [Sun, 14 Oct 2007 18:43:16 +0000 (14:43 -0400)]
Add rtl8180 wireless driver

This patch adds a mac80211 based wireless driver for the rtl8180 and
rtl8185 PCI wireless cards.  Also included are some rtl8187 changes
required due to the relationship between that driver and this one.

Michael Wu is primarily responsible for the initial driver and rtl8185
support.  Andreas Merello provided the additional rtl8180 support.

Thanks to Jukka Ruohonen for the donating a rtl8185 card! It was very
helpful for the rtl8225z2 code.

The Signed-off-by information below is collected from the individual
patches submitted to wireless-2.6 before merging this driver upstream.

Signed-off-by: Andrea Merello <andreamrl@tiscali.it>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[PATCH] Net: add ath5k wireless driver
Jiri Slaby [Sun, 12 Aug 2007 15:33:16 +0000 (17:33 +0200)]
[PATCH] Net: add ath5k wireless driver

add ath5k wireless driver

Portions of this driver are covered by one or both of the ISC and
3-clause BSD licenses.  Specific license information is cited at the top
of each file.

Acked-by and Signed-off-by information is collected from individual
patches as collected in the wireless-2.6 tree prior to upstream
submission.

Acked-by: Matthew W. S. Bell <mentor@madwifi.org>
Acked-by: Michael Taylor <mike.taylor@apprion.com>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bradley M. Kuhn <bkuhn@softwarefreedom.org>
Signed-off-by: Bruno Randolf <bruno@thinktube.com>
Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Francesco Gringoli <francesco.gringoli@ing.unibs.it>
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Karen Sandler <karen@softwarefreedom.org>
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Luis R. Rodriguez <mcgrof@gmail.com>
Signed-off-by: Matt Norwood <norwood@softwarefreedom.org>
Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: Richard Fontana <fontana@softwarefreedom.org>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Ulrich Meis <meis@nets.rwth-aachen.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: finish removal of pio support
John W. Linville [Thu, 10 Jan 2008 18:28:49 +0000 (13:28 -0500)]
b43: finish removal of pio support

As suggested in "b43: Remove PIO support"...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap_cs: don't match revisions in presense of the MAC chip name
Pavel Roskin [Thu, 10 Jan 2008 03:16:58 +0000 (22:16 -0500)]
hostap_cs: don't match revisions in presense of the MAC chip name

If the third PCMCIA ID string specifies the MAC chip, the fourth ID
string doesn't need to be matched.  Even if it's different, it will be
compatible with the driver.

This ensures that other different revisions of the card will be
supported.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Remove the PHY spinlock
Michael Buesch [Wed, 9 Jan 2008 18:08:49 +0000 (19:08 +0100)]
b43: Remove the PHY spinlock

This fixes a sparse warning about weird locking.
The spinlock is not needed, so simply remove it.
This also adds some sanity checks to the PHY and radio locking
to protect against recursive locking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix PHY register routing
Michael Buesch [Wed, 9 Jan 2008 17:39:09 +0000 (18:39 +0100)]
b43: Fix PHY register routing

This fixes the PHY routing bit handling.
This is needed for N-PHY.
No functional change to A-PHY and G-PHY code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add N-PHY register definitions
Michael Buesch [Wed, 9 Jan 2008 15:13:56 +0000 (16:13 +0100)]
b43: Add N-PHY register definitions

This patch adds all register definitions for the N-PHY.
This adds two new files: nphy.h and nphy.c
No functional changes to existing code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: fix alignment for QOS and WDS frames
Michael Buesch [Sat, 29 Dec 2007 16:24:23 +0000 (17:24 +0100)]
zd1211rw: fix alignment for QOS and WDS frames

This patch fixes RX packet alignment issues in the zd1211rw driver.
This is based on a patch by Johannes Berg.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix compilation warning in 'iwl-4965.c'
Miguel Botón [Fri, 4 Jan 2008 22:34:35 +0000 (23:34 +0100)]
iwlwifi: fix compilation warning in 'iwl-4965.c'

This patch fixes a compilation warning in 'iwl-4965.c'.

"warning: format â€˜%d’ expects type â€˜int’, but argument 3 has type â€˜long unsigned int’"

Signed-off-by: Miguel Botón <mboton@gmail.com
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Release rt2x00 2.0.14
Ivo van Doorn [Sun, 6 Jan 2008 22:42:21 +0000 (23:42 +0100)]
rt2x00: Release rt2x00 2.0.14

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Correctly initialize data and desc pointer
Ivo van Doorn [Sun, 6 Jan 2008 22:42:04 +0000 (23:42 +0100)]
rt2x00: Correctly initialize data and desc pointer

rt2500usb and rt73usb store the descriptor in different
places. This means we should move the initialization of
the 2 pointers to the driver callback function fill_rxdone().

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Move init_txring and init_rxring into rt2x00lib
Ivo van Doorn [Sun, 6 Jan 2008 22:41:45 +0000 (23:41 +0100)]
rt2x00: Move init_txring and init_rxring into rt2x00lib

Prior to enabling the radio rt2x00lib should go through all
rings and for each entry should call the callback function
init_txentry() and init_rxentry().

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Determine MY_BSS from descriptor
Ivo van Doorn [Sun, 6 Jan 2008 22:41:28 +0000 (23:41 +0100)]
rt2x00: Determine MY_BSS from descriptor

Use the MY_BSS descriptor field to determine if the
received frame belongs to the same BSS as the interface.
This can be used by rxdone to determine if the frame
should be updated or not.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Cleanup write_tx_desc() arguments
Ivo van Doorn [Sun, 6 Jan 2008 22:41:10 +0000 (23:41 +0100)]
rt2x00: Cleanup write_tx_desc() arguments

Send the skb structure with write_tx_desc() and use
the skbdesc structure to read all information about
the frame. This saves several arguments in the function
definition and it is easier to send more information
later as well.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Move packet filter flags
Ivo van Doorn [Sun, 6 Jan 2008 22:40:49 +0000 (23:40 +0100)]
rt2x00: Move packet filter flags

The packet filter flags don't belong in the interface structure
because they are device based instead of interface based.
So move the filter fields out of struct interface and into rt2x00_dev.

Additionally we shouldn't change the filter based on the working
mode, if such a thing is needed than mac80211 should have done that.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Move start() and stop() handlers into rt2x00lib.c
Ivo van Doorn [Sun, 6 Jan 2008 22:40:07 +0000 (23:40 +0100)]
rt2x00: Move start() and stop() handlers into rt2x00lib.c

suspend & resume was broken since it called rt2x00mac_start()
and rt2x00mac_stop() which would fail to execute because the
DEVICE_PRESENT flag was not set.

Move the start and stop handlers into rt2x00lib.c which are called
from rt2x00mac_start() and rt2x00mac_stop() after they have checked
the DEVICE_PRESENT flag, while suspend and resume handlers can
directly call those functions.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Store queue idx and entry idx in data_ring and data_entry
Ivo van Doorn [Sun, 6 Jan 2008 22:39:25 +0000 (23:39 +0100)]
rt2x00: Store queue idx and entry idx in data_ring and data_entry

Store the queue idx inside structure data_ring
Store the entry idx inside structure data_entry
This saves us a few calls to ARRAY_INDEX() which is now unused.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Only set the TBCN flag when the interface is configured to send beacons.
Ivo van Doorn [Sun, 6 Jan 2008 22:38:58 +0000 (23:38 +0100)]
rt2x00: Only set the TBCN flag when the interface is configured to send beacons.

These flags used to be fixed to one in rt2500pci_config_type, which
caused the beacon timer interrupt to fire. This would lead to
rt2x00lib_beacondone adding work which called
rt2x00lib_beacondone_scheduled which called ieee80211_beacon_get which
printed an error about not having any beacon data.

With this patch, these interrupts are only generated when the interface
is configured to send beacons.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Always call ieee80211_stop_queue() when return NETDEV_TX_BUSY
Ivo van Doorn [Sun, 6 Jan 2008 22:38:34 +0000 (23:38 +0100)]
rt2x00: Always call ieee80211_stop_queue() when return NETDEV_TX_BUSY

Apparently it was possible that ieee80211_stop_queue() was not full while
NETDEV_TX_BUSY was being reported back. I think that is what causing the WARN_ON().
This moves all calls to ieee80211_stop_queue() in rt2x00mac.c where it is easier
to determine if the queue should be halted.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix chipset debugfs file
Ivo van Doorn [Sun, 6 Jan 2008 22:38:10 +0000 (23:38 +0100)]
rt2x00: Fix chipset debugfs file

Initialize blob->data before moving the data pointer
Initialize blob->size based on blob->data size

This fixes the empty chipset file in debugfs.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix any N-PHY related WARN_ON() in the attach stage.
Michael Buesch [Sat, 5 Jan 2008 23:09:46 +0000 (00:09 +0100)]
b43: Fix any N-PHY related WARN_ON() in the attach stage.

This fixes all WARN_ON()s in the attach stage.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add NPHY kconfig option
Michael Buesch [Fri, 4 Jan 2008 16:06:29 +0000 (17:06 +0100)]
b43: Add NPHY kconfig option

This adds a new Kconfig option for enabling probing of N-PHYs.
This option will be removed again once the stuff works.
For now it is to help in development. This way real users won't
execute the broken N-PHY codepaths, but the developers can easily
enable N-PHY stuff.

To enable N-PHY probing simply remove the BROKEN dependency
and enable the option in the kernel config.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43-ssb-bridge: Add PCI ID for BCM43XG
Michael Buesch [Thu, 3 Jan 2008 18:03:09 +0000 (19:03 +0100)]
b43-ssb-bridge: Add PCI ID for BCM43XG

This adds the PCI ID 0x4329 for the BCM43XG.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob44: power down PHY when interface down
Miguel Botón [Tue, 1 Jan 2008 00:17:54 +0000 (01:17 +0100)]
b44: power down PHY when interface down

This is just this patch (http://lkml.org/lkml/2007/7/1/51) but adapted
to the 'b44' ssb driver.

Signed-off-by: Miguel Botón <mboton@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: add 'ssb_pcihost_set_power_state' function
Miguel Botón [Tue, 1 Jan 2008 00:16:46 +0000 (01:16 +0100)]
ssb: add 'ssb_pcihost_set_power_state' function

This patch adds the 'ssb_pcihost_set_power_state' function.

This function allows us to set the power state of a PCI device
(for example b44 ethernet device).

Signed-off-by: Miguel Botón <mboton@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add definitions for MAC Control register
Michael Buesch [Wed, 26 Dec 2007 15:26:36 +0000 (16:26 +0100)]
b43: Add definitions for MAC Control register

This adds some definitions for the MAC Control register
and uses them.
This basically is no functional change.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Remove PIO support
Michael Buesch [Wed, 26 Dec 2007 13:41:30 +0000 (14:41 +0100)]
b43: Remove PIO support

Remove b43 PIO support.
DMA works well on all supported devices. There's no reason to use PIO.
Additionally, new devices don't support PIO in hardware anymore.
b43 PIO support is dead and unused code.

After applying this patch please do
git rm drivers/net/wireless/b43/pio.h
git rm drivers/net/wireless/b43/pio.c
to remove the main PIO support code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Fix PCMCIA lowlevel register access
Michael Buesch [Sat, 22 Dec 2007 21:01:36 +0000 (22:01 +0100)]
ssb: Fix PCMCIA lowlevel register access

This fixes lowlevel register access for PCMCIA based devices.

The patch also adds a temporary workaround for the device mac address.
It simply adds generation of a random address. The real SPROM extraction
will follow in another patch.
The temporary workaround will be removed then, but for now it's OK.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix chip access validation for new devices
Michael Buesch [Sat, 22 Dec 2007 20:56:30 +0000 (21:56 +0100)]
b43: Fix chip access validation for new devices

This fixes chip access validation for newer devices
(4318 and up, I think)

This patch fixes probing of a PCMCIA based 4318 device.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Only select allowed TX and RX antennas
Michael Buesch [Sat, 22 Dec 2007 20:54:20 +0000 (21:54 +0100)]
b43: Only select allowed TX and RX antennas

This fixes antenna selection in b43. It adds a sanity check
for the antenna numbers we get from mac80211.

This patch depends on
ssb: Fix extraction of values from SPROM

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Fix extraction of values from SPROM
Michael Buesch [Sat, 22 Dec 2007 20:51:30 +0000 (21:51 +0100)]
ssb: Fix extraction of values from SPROM

This fixes extraction of some values from the SPROM.
It mainly fixes extraction of antenna related values, which
is needed for another b43 fix sent later.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix typo in 'drivers/net/wireless/iwlwifi/Kconfig'
Zhu Yi [Sat, 5 Jan 2008 06:53:11 +0000 (22:53 -0800)]
iwlwifi: fix typo in 'drivers/net/wireless/iwlwifi/Kconfig'

Based on a patch by Miguel.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Cc: Miguel Boton <mboton.lkml@gmail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoprism54: remove questionable down_interruptible usage
Daniel Walker [Sat, 22 Dec 2007 04:16:15 +0000 (20:16 -0800)]
prism54: remove questionable down_interruptible usage

Reviewing the semaphore usage I noticed these down_interruptible calls.  Most
of these aren't returning anything, so a caller can't tell if the operation
completed or not.  prism54_wpa_bss_ie_get() returns zero, but it's treated as
the function failing which doesn't seem correct.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoRevert "rtl8187: fix tx power reading"
John W. Linville [Tue, 8 Jan 2008 20:53:51 +0000 (15:53 -0500)]
Revert "rtl8187: fix tx power reading"

This reverts commit e4128a54d790658ab265c915e5da9153ff74af97.

On Sunday 02 December 2007 17:17:51 Michael Wu wrote:
> CCK and OFDM power levels are stored in adjacent bytes, not nibbles.
>
This turns out to be true only for rtl8180. On rtl8187, power levels are
indeed stored in nibbles, so this patch is wrong. Please revert this patch.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomisc wireless annotations
Al Viro [Sat, 22 Dec 2007 18:45:50 +0000 (13:45 -0500)]
misc wireless annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200: do not byteswap struct ipw_associate
Al Viro [Thu, 27 Dec 2007 06:54:06 +0000 (01:54 -0500)]
ipw2200: do not byteswap struct ipw_associate

keep it little-endian, update places that use its members

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200 trivial annotations
Al Viro [Thu, 27 Dec 2007 06:36:46 +0000 (01:36 -0500)]
ipw2200 trivial annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoprism54 trivial annotations
Al Viro [Sat, 22 Dec 2007 19:29:07 +0000 (14:29 -0500)]
prism54 trivial annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agobcm43xx annotations
Al Viro [Sat, 22 Dec 2007 17:29:24 +0000 (12:29 -0500)]
bcm43xx annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54pci: endianness annotations and fixes
Al Viro [Sat, 22 Dec 2007 03:02:23 +0000 (22:02 -0500)]
p54pci: endianness annotations and fixes

->ring_control_dma is dma_addr_t, needs conversion to little-endian
before __raw_writel()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap: don't mess with mixed-endian even for internal skb queues
Al Viro [Fri, 21 Dec 2007 08:40:35 +0000 (03:40 -0500)]
hostap: don't mess with mixed-endian even for internal skb queues

Just leave hfa384x_info_frame as-is, don't convert in place.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap annotations
Al Viro [Fri, 21 Dec 2007 08:30:16 +0000 (03:30 -0500)]
hostap annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: last of endianness annotations
Al Viro [Fri, 21 Dec 2007 05:00:35 +0000 (00:00 -0500)]
airo: last of endianness annotations

sanitize handling of ConfigRid

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize handling of StatusRid
Al Viro [Fri, 21 Dec 2007 03:58:57 +0000 (22:58 -0500)]
airo: sanitize handling of StatusRid

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize APListRid handling
Al Viro [Thu, 20 Dec 2007 22:49:41 +0000 (17:49 -0500)]
airo: sanitize APListRid handling

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize handling of CapabilityRid
Al Viro [Thu, 20 Dec 2007 22:18:35 +0000 (17:18 -0500)]
airo: sanitize handling of CapabilityRid

Don't byteswap any fields, annotate.  That has caught a bug,
BTW - will be handled in the next patch.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize handling of StatsRid
Al Viro [Thu, 20 Dec 2007 03:24:16 +0000 (22:24 -0500)]
airo: sanitize handling of StatsRid

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize handling of WepKeyRid
Al Viro [Thu, 20 Dec 2007 00:21:51 +0000 (19:21 -0500)]
airo: sanitize handling of WepKeyRid

don't byteswap, update users to match that, annotate.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize BSSListRid handling
Al Viro [Wed, 19 Dec 2007 23:56:37 +0000 (18:56 -0500)]
airo: sanitize BSSListRid handling

Stop byteswap-in-place in readBSSListRid(), annotate the sucker.
BTW, that had immediately found a bug - another codepath fetching
the same struct from card did _not_ byteswap, but used ->dBm the
same as everything else - host-endian.  Fix in the next patch...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agobap_read()/bap_write() work with fixed-endian buffers
Al Viro [Wed, 19 Dec 2007 22:55:43 +0000 (17:55 -0500)]
bap_read()/bap_write() work with fixed-endian buffers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: sanitize handling of SSID_rid
Al Viro [Mon, 17 Dec 2007 21:11:57 +0000 (16:11 -0500)]
airo: sanitize handling of SSID_rid

* store SSID_rid without conversions
* sanitize proc_SSID_on_close() (and avoid access past the end of
  buffer, while we are at it)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: trivial endianness annotations
Al Viro [Mon, 17 Dec 2007 20:09:34 +0000 (15:09 -0500)]
airo: trivial endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200: ipw_tx_skb() endianness bug
Al Viro [Thu, 27 Dec 2007 06:57:47 +0000 (01:57 -0500)]
ipw2200: ipw_tx_skb() endianness bug

We'd just set tfd->u.data.chunk_len[i] to cpu_to_le16(remaining_bytes);
passing it to pci_map_single() is a bad idea - it expects host-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200 fix: ->rt_chbitmask is le16
Al Viro [Thu, 27 Dec 2007 06:50:54 +0000 (01:50 -0500)]
ipw2200 fix: ->rt_chbitmask is le16

A couple of places forgot cpu_to_le16() in assignments to
that field, even though right next to those in other branches
of if-else we do it correctly.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200 fix: struct ieee80211_radiotap_header is little-endian
Al Viro [Thu, 27 Dec 2007 06:43:16 +0000 (01:43 -0500)]
ipw2200 fix: struct ieee80211_radiotap_header is little-endian

some places in driver forget conversions

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoray_cs fixes
Al Viro [Sat, 29 Dec 2007 09:55:50 +0000 (04:55 -0500)]
ray_cs fixes

bugs galore:
* 0xf380 instead of htons(ETH_P_AARP), etc.  Works only on l-e.
* back in 2.3.20 driver got readb() and friends instead of
direct dereferencing of iomem.  Somebody got too enthusiatic and replaced
ntohs(p->mrx_overflow)
with
ntohs(read(&p->mrx_overflow)
without noticing that (a) the sucker is 16bit and (b) that expression can't possibly
be portable anyway (hell, on l-e it's always less than 256, on b-e it's always a
multiple of 256).  Proper fix is
swab16(readw(&p->mrx_overflow)
taking into account the conversion done by readw() itself.  That crap happened
in several places; the same fix applies.
* untranslate() assumes little-endian almost everywhere, except for
the code checking for IPX/AARP packets; there we forgot ntohs(), so that part
only works on big-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2100 annotations and fixes
Al Viro [Fri, 21 Dec 2007 05:15:18 +0000 (00:15 -0500)]
ipw2100 annotations and fixes

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54common annotations and fixes
Al Viro [Sat, 22 Dec 2007 04:49:02 +0000 (23:49 -0500)]
p54common annotations and fixes

* ->exp_id in bootrec_exp_if is __le16; missing conversion in its use
* !(x & y) misspelled as !x & y

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap: fix endianness with txdesc->sw_support
Al Viro [Fri, 21 Dec 2007 08:42:01 +0000 (03:42 -0500)]
hostap: fix endianness with txdesc->sw_support

it's le32, not le16...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: fix writerids() endianness
Al Viro [Fri, 21 Dec 2007 04:04:35 +0000 (23:04 -0500)]
airo: fix writerids() endianness

in writerids() we do _not_ byteswap, so we want to access
->opmode as little-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo endianness bug: cap_rid.extSoftCap
Al Viro [Thu, 20 Dec 2007 22:21:36 +0000 (17:21 -0500)]
airo endianness bug: cap_rid.extSoftCap

never had been byteswapped, used as host-endian...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: bug in airo_interrupt() handling on incoming 802.11
Al Viro [Thu, 20 Dec 2007 03:38:33 +0000 (22:38 -0500)]
airo: bug in airo_interrupt() handling on incoming 802.11

On big-endian we end up with swapped first two bytes in packet,
due to earlier conversion to host-endian and forgotten conversion
back.

The code we calculated that host-endian for had been duplicated
several time - it finds the 802.11 MAC header length by the first
two bytes of packet; taken into a new helper (header_len(__le16 ctl)).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: fix endianness bug in ->dBm handling
Al Viro [Thu, 20 Dec 2007 00:20:12 +0000 (19:20 -0500)]
airo: fix endianness bug in ->dBm handling

airo_translate_scan() reads BSSListRid directly, does _not_ byteswap
and uses ->dBm (__le16) as host-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoairo: fix transmit_802_11_packet()
Al Viro [Wed, 19 Dec 2007 21:45:29 +0000 (16:45 -0500)]
airo: fix transmit_802_11_packet()

a) gaplen would better be stored little-endian
b) for control packets (shorter than 24-byte header) we ended up with
        bap_write(ai, hdrlen == 30 ?
                (const u16*)&gap.gaplen : (const u16*)&gap, 38 - hdrlen, BAP1);
passing to card the data past the end of gap (i.e. random stuff from stack)
and did _not_ feed the gaplen at the right offset.
c) sending the contents of uninitialized fields of struct is Not Nice(tm) either

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoieee80211: beacon->capability is little-endian
Al Viro [Sat, 29 Dec 2007 10:03:35 +0000 (05:03 -0500)]
ieee80211: beacon->capability is little-endian

It's only a debugging printk, so it went unnoticed; still, the
fix is trivial, so...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>