OSDN Git Service
Pavel Emelyanov [Tue, 17 Jun 2008 00:12:49 +0000 (17:12 -0700)]
inet: add struct net argument to inet_bhashfn
Binding to some port in many namespaces may create too long
chains in bhash-es, so prepare the hashfn to take struct net
into account.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Tue, 17 Jun 2008 00:12:29 +0000 (17:12 -0700)]
udp: add struct net argument to udp_hashfn
Every caller already has this one. The new argument is currently
unused, but this will be fixed shortly.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Tue, 17 Jun 2008 00:12:11 +0000 (17:12 -0700)]
udp: provide a struct net pointer for __udp[46]_lib_mcast_deliver
They both calculate the hash chain, but currently do not have
a struct net pointer, so pass one there via additional argument,
all the more so their callers already have such.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Tue, 17 Jun 2008 00:11:50 +0000 (17:11 -0700)]
udp: introduce a udp_hashfn function
Currently the chain to store a UDP socket is calculated with
simple (x & (UDP_HTABLE_SIZE - 1)). But taking net into account
would make this calculation a bit more complex, so moving it into
a function would help.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sun, 15 Jun 2008 00:15:39 +0000 (17:15 -0700)]
Merge branch 'master' of /linux/kernel/git/linville/wireless-next-2.6
Brian Haley [Sun, 15 Jun 2008 00:04:49 +0000 (17:04 -0700)]
net: change proto destroy method to return void
Change struct proto destroy function pointer to return void. Noticed
by Al Viro.
Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Vladimir Koutny [Fri, 13 Jun 2008 14:50:44 +0000 (16:50 +0200)]
mac80211: eliminate IBSS warning in rate_lowest_index()
In IBSS mode prior to join/creation of new IBSS it is possible that
a frame from unknown station is received and an ibss_add_sta() is
called. This will cause a warning in rate_lowest_index() since the
list of supported rates of our station is not initialized yet.
The fix is to add ibss stations with a rate we received that frame
at; this single-element set will be extended later based on beacon
data. Also there is no need to store stations from a foreign IBSS.
Signed-off-by: Vladimir Koutny <vlado@ksp.sk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:22:02 +0000 (14:22 -0700)]
mac80211: tkip.c use a local struct tkip_ctx in ieee80211_get_tkip_key
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:22:00 +0000 (14:22 -0700)]
mac80211: tkip.c fold ieee80211_gen_rc4key into its one caller
Also change the arguments of the phase1, 2 key mixing to take
a pointer to the encrytion key and the tkip_ctx in the same
order.
Do the dereference of the encryption key in the callers.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:22:00 +0000 (14:22 -0700)]
mac80211: tkip.c consolidate tkip IV writing in helper
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:59 +0000 (14:21 -0700)]
mac80211: rx.c use new helpers
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:59 +0000 (14:21 -0700)]
mac80211: wme.c use new helpers
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:58 +0000 (14:21 -0700)]
mac80211: use new helpers in util.c - ieee80211_get_bssid()
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:58 +0000 (14:21 -0700)]
mac80211: wpa.c use new access helpers
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:57 +0000 (14:21 -0700)]
mac80211: add utility function to get header length
Take a __le16 directly rather than a host-endian value.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:57 +0000 (14:21 -0700)]
mac80211: make ieee80211_get_hdrlen_from_skb return unsigned
Many callers already expect it to.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:56 +0000 (14:21 -0700)]
mac80211: remove ieee80211_get_morefrag
Replaced by the new helper ieee80211_has_morefrags which is
more consistent with the intent of the function.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Harvey Harrison [Wed, 11 Jun 2008 21:21:56 +0000 (14:21 -0700)]
mac80211: add helpers for frame control testing
A few general categories:
1) ieee80211_has_* tests if particular fctl bits are set, the helpers are de
in the same order as the fctl defines:
A combined _has_a4 was also added to test when both FROMDS and TODS are set.
2) ieee80211_is_* is meant to test whether the frame control is of a certain
ftype - data, mgmt, ctl, and two special helpers _is_data_qos, _is_data_pres
which also test a subset of the stype space.
When testing for a particular stype applicable only to one ftype, functions
like ieee80211_is_ack have been added. Note that the ftype is also being
checked in these helpers. They have been added for all mgmt and ctl stypes
in the same order as the STYPE defines.
3) ieee80211_get_* is meant to take a struct ieee80211_hdr * and returns a
pointer to somewhere in the struct, see get_SA, get_DA, get_qos_ctl.
The intel wireless drivers had helpers that used this namespace, convert the
all to use the new helpers and remove the byteshifting as they were defined
in cpu-order rather than little-endian.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jouni Malinen [Fri, 13 Jun 2008 16:44:48 +0000 (19:44 +0300)]
mac80211_hwsim: Shared TX code for received frames and Beacons
Use a shared function for transmitting the frames instead of
duplicated code in two places.
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jouni Malinen [Fri, 13 Jun 2008 16:44:47 +0000 (19:44 +0300)]
mac80211_hwsim: Minor cleanup
Remove unnecessary '__constant_' prefix and use the atomic version of
ieee80211_iterate_active_interfaces().
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jouni Malinen [Fri, 13 Jun 2008 16:44:46 +0000 (19:44 +0300)]
mac80211_hwsim: Clean up documentation
Clean up the introduction and fix a typo.
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jouni Malinen [Wed, 11 Jun 2008 07:42:31 +0000 (10:42 +0300)]
mac80211_hwsim: 802.11 radio simulator for mac80211
mac80211_hwsim is a Linux kernel module that can be used to simulate
arbitrary number of IEEE 802.11 radios for mac80211 on a single
device. It can be used to test most of the mac80211 functionality and
user space tools (e.g., hostapd and wpa_supplicant) in a way that
matches very closely with the normal case of using real WLAN
hardware. From the mac80211 view point, mac80211_hwsim is yet another
hardware driver, i.e., no changes to mac80211 are needed to use this
testing tool.
Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Fri, 13 Jun 2008 07:44:55 +0000 (15:44 +0800)]
iwlwifi: unify SW rf-kill flow
This patch unifies SW rf-kill flow between 4965 and 5000. It enables SW
RF-kill for 5000. This patch also solves a bug in iwl4965_mac_config:
bad mutex locking balance.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Ron Rindjunsky [Fri, 13 Jun 2008 07:44:54 +0000 (15:44 +0800)]
iwlwifi: remove 4965 prefix from iwl4965_ucode
The patch removes 4965 prefix from iwl4965_ucode.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
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>
Ester Kummer [Fri, 13 Jun 2008 07:44:53 +0000 (15:44 +0800)]
iwlwifi: adding channels to sysfs
This patch returns channel list to sysfs.
Signed-off-by: Ester Kummer <ester.kummer@intel.com>
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>
Tomas Winkler [Thu, 12 Jun 2008 19:38:37 +0000 (22:38 +0300)]
mac80211: fix beacon interval value
This patch fixes setting beacon interval
1. in register_hw it honors value requested by the driver
2. It uses default 100 instead of 1000 or 10000. Scanning for beacon
interval ~1sec and above is not sane
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Robert P. J. Day [Thu, 12 Jun 2008 19:34:42 +0000 (15:34 -0400)]
rndis_wlan: Use kernel-supplied ARRAY_SIZE() macro.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Thu, 12 Jun 2008 17:19:19 +0000 (20:19 +0300)]
rndis_wlan: preallocate command buffer for set/get_oid
Reduce amount of kmalloc/kfree calls in set/get_oid by preallocating command
buffer.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Thu, 12 Jun 2008 17:19:01 +0000 (20:19 +0300)]
rndis_wlan: use kzalloc to allocate private data
rndis_wlan used kmalloc to allocate private data structure and leaving data
uninitialized, but later assumed to be set zero.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Thu, 12 Jun 2008 12:42:29 +0000 (15:42 +0300)]
mac80211: do not fragment while aggregation is in use
This patch denies the use of framentation while ampdu is used.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:19 +0000 (09:47 +0800)]
iwlwifi: remove iwlcore_low_level_notify
This patch removes the iwlcore_low_level_notify. The
notification chain is not required in this level.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:18 +0000 (09:47 +0800)]
iwlwifi: general code clean up
This patch cleans up iwlwifi's code: Add missing include, remove empty
lines etc...
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Zhu Yi [Thu, 12 Jun 2008 01:47:17 +0000 (09:47 +0800)]
iwlwifi: fix software rf_kill problem when interface is down
The patch fixes the problem that software rf_kill messes up the
card status when it is disabled if the interface is down.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:15 +0000 (09:47 +0800)]
iwlwifi: remove dead code iwl4965_calc_db_from_ratio
This patch removes iwl4965_calc_db_from_ratio which is dead code.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:14 +0000 (09:47 +0800)]
iwlwifi: retfactor get_temperature functions
This patch renames iwl4965_get_tempearture to iwl4965_hw_get_temperature
and replaces usage of original iwl4965_hw_get_temperature by
direct access to priv->temperature.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:13 +0000 (09:47 +0800)]
iwlwifi: move iwl4965_rf_kill_ct_config to iwl-core.c
This patch moves iwl4965_rf_kill_ct_config to iwl-core.c.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Tomas Winkler [Thu, 12 Jun 2008 01:47:12 +0000 (09:47 +0800)]
iwlwifi: cleans up scanning code
This patch
1. cleans up scanning code.
2. It adds round robin of TX antannas/chains.
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>
Tomas Winkler [Thu, 12 Jun 2008 01:47:11 +0000 (09:47 +0800)]
iwlwifi: move rate helpers to iwlcore
This patch moves rate helpers to iwlcore.
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>
Tomas Winkler [Thu, 12 Jun 2008 01:47:10 +0000 (09:47 +0800)]
iwlwifi: move scan to iwl-scan.c iwlcore
This patch moves scan code to iwl-scan.c file in iwlcore 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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:09 +0000 (09:47 +0800)]
iwlwifi: add bad length check for WEP keys
This patch adds a check for bad length in set key flow. This solves the
Oops reported by Thomas Backlund, Joonwoo Park and Ian Schram.
It also adds some debug printing that can be useful.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Tomas Winkler [Thu, 12 Jun 2008 01:47:08 +0000 (09:47 +0800)]
iwlwifi: refactor setting tx power
This patch
1. Refactors settings of tx power
2. enables iwconfig txpower <value>
3. adds 5000 HW tx power
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>
Tomas Winkler [Thu, 12 Jun 2008 01:47:07 +0000 (09:47 +0800)]
iwlwifi: refactor tx aggregation response flow
This patch refactors tx aggregation respnse flow
and fixes bug revealed by tx_info to cb patch
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Assaf Krauss [Thu, 12 Jun 2008 01:47:06 +0000 (09:47 +0800)]
iwlwifi: Fix mode changes (ad-hoc <--> managed)
This fix allows to move between modes (ad-hoc to managed, and vice versa).
Since mode changes can only be done while driver is down, check for ibss
support can only be made when the channel is set (afte the driver goes up).
Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Assaf Krauss [Thu, 12 Jun 2008 01:47:05 +0000 (09:47 +0800)]
iwlwifi enabling IBSS (Ad-Hoc) mode
This patch enables ibss mode. It consists of two changes upon entering ibss
mode:
1. Removing the redundant line which clears the driver's station table.
This line creates a discrepancy between the driver and the FW's station
table. This prevented the generation of beacons.
2. Assigning a default value to priv's assoc_id. Normally given by an AP in
STA mode, this field is used as an indication for association. Being 0,
it prevented normal TX flow.
3. Remove a redundant ADD_STA command that cause uCode error.
4. Delay the set_mode until after the uCode is ready.
Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:04 +0000 (09:47 +0800)]
iwlwifi: fix resart flow after fw error
Clear STATUS_FW_ERROR in the _up_ flow before reseting NIC.
UP flow will otherwise call restart again causing endless restart loop.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Mohamed Abbas [Thu, 12 Jun 2008 01:47:03 +0000 (09:47 +0800)]
iwlwifi: fix resume SW RF-kill
This patch fixes SW RF-kill. If we resumed from S3 state with SW RF-kill
set, the driver wouldn't be able to remove SW RF-kill. This patch fixes
this.
Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Tomas Winkler [Thu, 12 Jun 2008 01:47:02 +0000 (09:47 +0800)]
iwlwifi: format log prints for easier parsing
This patch changes uCode log print to for easier parsing.
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:01 +0000 (09:47 +0800)]
iwlwifi: fix bug when moving from 11gn to 11a or 11an to 11g
It is wrong to set the rxon channel according to the ht-channel
in case there is a mismatch (e.g. when there is no ht).
Signed-off-by: Guy Cohen <guy.cohen@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:00 +0000 (09:47 +0800)]
iwlwifi: remove redundant flags regarding to FAT channel
This patch removes redundant flags regarding to FAT channel. Use
mac80211's flag instead.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Tomas Winkler [Thu, 12 Jun 2008 01:46:59 +0000 (09:46 +0800)]
iwlwifi: remove unused flag
This patch removes IEEE80211_CHAN_W_RADAR_DETECT flag.
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>
Ron Rindjunsky [Thu, 12 Jun 2008 01:46:58 +0000 (09:46 +0800)]
iwlwifi: fix allow iwlwifi to aggregate according to tid load
This fix opens back the aggregation decision path for iwlwifi.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
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>
Ron Rindjunsky [Thu, 12 Jun 2008 01:46:57 +0000 (09:46 +0800)]
iwlwifi: use ieee80211_conf to examine rate capabilities
This patch switches the use of internal iwlwifi structure with
ieee80211_conf in order to examine ht rate capabilities.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
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>
Tomas Winkler [Thu, 12 Jun 2008 01:46:56 +0000 (09:46 +0800)]
iwlwifi: add TX aggregation code for 5000 HW
This patch adds TX aggregation handler for 5000 HW.
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>
Ron Rindjunsky [Thu, 12 Jun 2008 01:46:55 +0000 (09:46 +0800)]
iwlwifi: map sw and hw ampdu queues
This patch maps sw and hw queues (for aggregations), so the right
mac80211 queue will be waken when ieee80211_wake_queue is invoked.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:46:54 +0000 (09:46 +0800)]
iwlwifi: add possibility to disable tx_power calibration
This patch adds the possibility to disable the tx_power calibration.
In 5000 HW, this calibration is implemented in uCode, hence, it is
disabled in driver by default.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:46:53 +0000 (09:46 +0800)]
iwlwifi: clean up in setup/cancel deferred work
This patch makes some clean up in setup/cancel_deferred_work.
iwl_setup_deferred_work does the work that is common to 4965
and 5000, then it calls to HW specific handlers.
This patch also removes uneeded work_struct from iwl_priv.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Emmanuel Grumbach [Thu, 12 Jun 2008 01:46:52 +0000 (09:46 +0800)]
iwlwifi: removes the RUN_TIME_CALIB ifdef
This patch removes the possibility not to compile the run time
calibrations. It also renames priv->sensitivity_work to
priv->run_time_calib_work, and moves bg_run_time_calib to iwl4965_base
since it is common to both: 4965 and 5000.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>
Holger Schurig [Thu, 5 Jun 2008 11:09:50 +0000 (13:09 +0200)]
libertas: rename some registers to clarify their meaning
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Thu, 5 Jun 2008 11:08:35 +0000 (13:08 +0200)]
libertas: check for old, unsupported hardware
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Thu, 5 Jun 2008 11:07:04 +0000 (13:07 +0200)]
libertas: document register meanings
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Holger Schurig [Thu, 5 Jun 2008 11:06:15 +0000 (13:06 +0200)]
libertas: fix interrupt issue
This helps against lost interrupts and aids in debugging this.
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tony Vroon [Wed, 11 Jun 2008 20:23:56 +0000 (16:23 -0400)]
mac80211: implement EU regulatory domain
Implement missing EU regulatory domain for mac80211. Based on the
information in IEEE 802.11-2007 (specifically pages 1142, 1143 & 1148)
and ETSI 301 893 (V1.4.1).
With thanks to Johannes Berg.
Signed-off-by: Tony Vroon <tony@linx.net>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Michael Buesch [Tue, 10 Jun 2008 12:04:14 +0000 (14:04 +0200)]
nl80211: Fix comment merge error
The comments ended up in the wrong place due to a merge error.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky [Mon, 9 Jun 2008 19:54:35 +0000 (22:54 +0300)]
iwlwifi: removing IWL4965_HT config
This patch removes CONFIG_IWL4965_HT #ifdefs for iwl 4965 and 5000. 11n
feature is stable in those drivers and its mode of operation is determined
in mac80211, so this dependency is not needed any more.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Mon, 2 Jun 2008 15:35:44 +0000 (18:35 +0300)]
rndis_wlan: cleanup: rename and remove local pointers
Mixed use of 'dev' and 'usbdev' for usbnet pointer can be confusing. So changing all 'usbnet *dev' to 'usbnet *usbdev'.
Also remove 'net_device *net' pointer from 'rndis_wext_bind' as 'usbdev->net' were already used where needed.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Mon, 2 Jun 2008 15:35:36 +0000 (18:35 +0300)]
rndis_wlan: check if set_multicast_list work is already scheduled
Don't queue set_multicast_list work if WORK_SET_MULTICAST_LIST
flag already set.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Mon, 2 Jun 2008 15:35:29 +0000 (18:35 +0300)]
rndis_wlan: update carrier flag when link state changes
Driver wasn't updating netif_carrier on link state changes but assumed
link layer was always up.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jussi Kivilinna [Mon, 2 Jun 2008 15:35:21 +0000 (18:35 +0300)]
rndis_wlan: do link-down state change in worker thread
rndis_wext_link_change() is called from within rndis_command() so it
isn't very good place to do any work. Move to worker thread.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Akinobu Mita [Mon, 9 Jun 2008 23:44:30 +0000 (16:44 -0700)]
airo: use simple_read_from_buffer()
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Dan Williams <dcbw@redhat.com>
Cc: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Sat, 7 Jun 2008 14:57:09 +0000 (16:57 +0200)]
rt2x00: Rework alignment check.
Rework the alignment check in rt2x00dev.c to be independent of any
potential alignment measures that may be taken before. Just check
whether the payload is aligned based on the pointer addresses.
Note: This is preparatory for the dynamically mapped skb buffers
for the PCI drivers, as these need 4-byte alignment instead of the
currently enforced offset by 2 bytes.
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 7 Jun 2008 14:54:12 +0000 (16:54 +0200)]
rt2x00: Remove unused defines
MAX_RX_SSI and MAX_NOISE are no longer used,
it is better to remove them entirely.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Sat, 7 Jun 2008 10:29:05 +0000 (12:29 +0200)]
rt2x00: Clear IEEE80211_TX_CTL_USE_RTS_CTS flag for RTS frame
For RTS/CTS-to-self frames the IEEE80211_TX_CTL_USE_RTS_CTS flag
should be cleared for the tx_info flags.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Fri, 6 Jun 2008 20:58:29 +0000 (22:58 +0200)]
rt2x00: Use __builtin_choose_expr() instead of ?:
To really force the FIELD macros to determine
the first bit of the register field we should
use the __builtin_choose_expr() function.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Fri, 6 Jun 2008 20:54:28 +0000 (22:54 +0200)]
rt2x00: Fix double usage of skb->cb in USB RX path.
It is not safe to use the skb->cb area for both the rxd and
skb_frame_desc data at the same time, while they occupy an overlapping
piece of memory. This can lead to hard to trace crashes as pointers
within skb_frame_desc are pointing into nowhere, or the rxd data is
overwritten with non-sense.
Fix it by copying the rxd to a small buffer on the stack.
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Fri, 6 Jun 2008 20:54:12 +0000 (22:54 +0200)]
rt2x00: Centralize RX packet alignment handling in rt2x00lib.
When rt2x00pci will be switched over to dynamically mapped skb's
instead of statically allocated DMA buffers, it no longer can handle
alignment of RX packets in a copy step, and needs to implement the
same scheme as rt2x00usb does.
In order to make the patch on dynamically mapped skb's smaller,
already centralize the alignment handling into rt2x00lib. This allows
us to move more code in rt2x00lib, and thus remove code duplication
between rt2x00usb and rt2x00pci.
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gertjan van Wingerde [Fri, 6 Jun 2008 20:54:08 +0000 (22:54 +0200)]
rt2x00: Cleanup struct skb_frame_desc.
The data and data_len fields aren't really necessary in struct
skb_frame_desc, as they can be deduced from the skb itself.
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Fri, 6 Jun 2008 20:53:14 +0000 (22:53 +0200)]
rt2x00: Don't kick TX queue after each frame
TX queues shouldn't be kicked after each frame that is put into the
queue. This could cause problems during RTS and CTS-to-self as well
as with fragmentation. In all those cases you want all frames to be
send out in a single burst. Off course we shouldn't let the queue fill
up entirely, thus we introduce a 10% threshold which, when reached,
will force the frames to be send out regardless of the frame.
In addition we should prevent queues to become full in such a way
that the tx() handler can fail. Instead of stopping the queue when
it is full, we should stop it when it is below the threshold.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Fri, 6 Jun 2008 20:50:28 +0000 (22:50 +0200)]
rt2x00: Move generic TX frame writing code into rt2x00queue
The write_tx_data functions in rt2x00pci and rt2x00usb have
a lot in common. This moves that duplicate code into
rt2x00queue_write_tx_frame().
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Fri, 6 Jun 2008 20:47:39 +0000 (22:47 +0200)]
rt2x00: Implement rt2x00usb_kick_tx_queue()
rt2x00usb_kick_tx_queue() will loop over all entries
within the INDEX_DONE->INDEX range and kick each entry
which is pending to be kicked. This makes the kick_tx_queue
approach work the same as with the PCI drivers which
will allow for more code generalisation into rt2x00lib.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 18:29:05 +0000 (20:29 +0200)]
rt2x00: Fix queue initialization
qid should be initialized to QID_BEACON and QID_ATIM
for the beacon and atim quue. This makes checking for
a particular queue much saner, and it shouldn't harm,
because the only places where the value is send to
the hardware, we are allowed to send any value we
want since it is only used as argument in the
TX done register.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 18:29:24 +0000 (20:29 +0200)]
rt2x00: Release rt2x00 2.1.7
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 18:29:43 +0000 (20:29 +0200)]
rt2x00: Make rt2x00_set/get_field macros
The rt2x00_set_field functions are very often used,
but GCC is better able to optimize them when they
are macros instead of static inline functions.
After changing it to macro's each rt2x00 driver will
loose about ~3500 bytes in size.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 18:29:54 +0000 (20:29 +0200)]
rt2x00: Removed unused descriptor read in txdone
rt2x00usb doesn't need the TX descriptor in the TX done path.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 18:29:57 +0000 (20:29 +0200)]
rt2x00: Remove CTS/RTS check in tx()
mac80211 doesn't send RTS or CTS-to-self frames through
the tx() callback functions so we don't need to check it.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 18:30:01 +0000 (20:30 +0200)]
rt2x00: Move led initialization into function
Reduce code duplication by moving led structure initialization
into a per-driver function.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 16:58:56 +0000 (18:58 +0200)]
rt2x00: Cleanup/optimize set_state() function callback function
* Reduce goto usage
* Mark if-statements which are true on hardware error unlikely()
* Cleanup debug messages
This makes the code look nicer and be better optimized since
the chance of hardware errors should be very small.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ivo van Doorn [Tue, 3 Jun 2008 20:45:35 +0000 (22:45 +0200)]
rt2x00: Calculate register offset during compile time
By using __ffs() the register offsets were always calculated
at run-time which all FIELD32/FIELD16 definitions were builtin
constants. This means we can heavily optimize the register handling
by allowing GCC to do all the work during compilation.
Add some compile_ffs() macros to perform the calculation at
compile time. After this each rt2x00 module size is reduced
by ~2500 bytes. And the stack size of several functions is reduced
as well which further limits the number of rt2x00 results in
'make checkstack'.
v2: Merge GertJan's bugfix of patch [1/11] directly into this patch
instead of providing it as seperate patch.
v3: Add extra parentheses when bitshifting __x
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David S. Miller [Sat, 14 Jun 2008 03:52:39 +0000 (20:52 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/smc911x.c
Linus Torvalds [Fri, 13 Jun 2008 16:47:07 +0000 (09:47 -0700)]
Merge git://git./linux/kernel/git/kyle/parisc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
parisc: update my email address
parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3
parisc: fix off by one in setup_sigcontext32
parisc: export empty_zero_page
parisc: export copy_user_page_asm
parisc: move head.S to head.text section
Revert "parisc: fix trivial section name warnings"
Kyle McMartin [Fri, 6 Jun 2008 21:16:17 +0000 (17:16 -0400)]
parisc: update my email address
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin [Sat, 31 May 2008 16:15:42 +0000 (12:15 -0400)]
parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3
ip_fast_csum needs an asm "memory" clobber, otherwise the aggressive
optimizations in gcc-4.3 cause it to be miscompiled.
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin [Tue, 27 May 2008 05:56:29 +0000 (01:56 -0400)]
parisc: fix off by one in setup_sigcontext32
Thankfully, the values were irrelevant... Spotted by
newer gcc.
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin [Mon, 26 May 2008 05:54:35 +0000 (01:54 -0400)]
parisc: export empty_zero_page
Needed by ext4 when built as a module.
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin [Mon, 26 May 2008 05:49:01 +0000 (01:49 -0400)]
parisc: export copy_user_page_asm
Needed by fuse (via copy_highpage).
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin [Thu, 22 May 2008 18:38:26 +0000 (14:38 -0400)]
parisc: move head.S to head.text section
And explicitly list it in vmlinux.lds...
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin [Thu, 22 May 2008 18:36:31 +0000 (14:36 -0400)]
Revert "parisc: fix trivial section name warnings"
This reverts commit
bd3bb8c15b9a80dbddfb7905b237a4a11a4725b4.
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Linus Torvalds [Fri, 13 Jun 2008 14:40:57 +0000 (07:40 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
ahci: Workaround HW bug for SB600/700 SATA controller PMP support
ahci: workarounds for mcp65
Linus Torvalds [Fri, 13 Jun 2008 14:34:47 +0000 (07:34 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
tcp: Revert 'process defer accept as established' changes.
ipv6: Fix duplicate initialization of rawv6_prot.destroy
bnx2x: Updating the Maintainer
net: Eliminate flush_scheduled_work() calls while RTNL is held.
drivers/net/r6040.c: correct bad use of round_jiffies()
fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP
ipg: fix receivemode IPG_RM_RECEIVEMULTICAST{,HASH} in ipg_nic_set_multicast_list()
netfilter: nf_conntrack: fix ctnetlink related crash in nf_nat_setup_info()
netfilter: Make nflog quiet when no one listen in userspace.
ipv6: Fail with appropriate error code when setting not-applicable sockopt.
ipv6: Check IPV6_MULTICAST_LOOP option value.
ipv6: Check the hop limit setting in ancillary data.
ipv6 route: Fix route lifetime in netlink message.
ipv6 mcast: Check address family of gf_group in getsockopt(MS_FILTER).
dccp: Bug in initial acknowledgment number assignment
dccp ccid-3: X truncated due to type conversion
dccp ccid-3: TFRC reverse-lookup Bug-Fix
dccp ccid-2: Bug-Fix - Ack Vectors need to be ignored on request sockets
dccp: Fix sparse warnings
dccp ccid-3: Bug-Fix - Zero RTT is possible
Linus Torvalds [Fri, 13 Jun 2008 14:34:01 +0000 (07:34 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc: get leo framebuffer working
Richard Kennedy [Fri, 13 Jun 2008 10:03:17 +0000 (03:03 -0700)]
udp: reorder udp_iter_state to remove padding on 64bit builds
reorder udp_iter_state to remove padding on 64bit builds
shrinks from 24 to 16 bytes, moving to a smaller slab when
CONFIG_NET_NS is undefined & seq_net_private = {}
Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>