openwrt/staging/blogic.git
16 years agoudp: provide a struct net pointer for __udp[46]_lib_mcast_deliver
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>
16 years agoudp: introduce a udp_hashfn function
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>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
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

16 years agonet: change proto destroy method to return void
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>
16 years agomac80211: eliminate IBSS warning in rate_lowest_index()
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>
16 years agomac80211: tkip.c use a local struct tkip_ctx in ieee80211_get_tkip_key
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>
16 years agomac80211: tkip.c fold ieee80211_gen_rc4key into its one caller
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>
16 years agomac80211: tkip.c consolidate tkip IV writing in helper
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>
16 years agomac80211: rx.c use new helpers
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>
16 years agomac80211: wme.c use new helpers
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>
16 years agomac80211: use new helpers in util.c - ieee80211_get_bssid()
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>
16 years agomac80211: wpa.c use new access helpers
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>
16 years agomac80211: add utility function to get header length
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>
16 years agomac80211: make ieee80211_get_hdrlen_from_skb return unsigned
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>
16 years agomac80211: remove ieee80211_get_morefrag
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>
16 years agomac80211: add helpers for frame control testing
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>
16 years agomac80211_hwsim: Shared TX code for received frames and Beacons
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>
16 years agomac80211_hwsim: Minor cleanup
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>
16 years agomac80211_hwsim: Clean up documentation
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>
16 years agomac80211_hwsim: 802.11 radio simulator for mac80211
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>
16 years agoiwlwifi: unify SW rf-kill flow
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>
16 years agoiwlwifi: remove 4965 prefix from iwl4965_ucode
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>
16 years agoiwlwifi: adding channels to sysfs
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>
16 years agomac80211: fix beacon interval value
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>
16 years agorndis_wlan: Use kernel-supplied ARRAY_SIZE() macro.
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>
16 years agorndis_wlan: preallocate command buffer for set/get_oid
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>
16 years agorndis_wlan: use kzalloc to allocate private data
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>
16 years agomac80211: do not fragment while aggregation is in use
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>
16 years agoiwlwifi: remove iwlcore_low_level_notify
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>
16 years agoiwlwifi: general code clean up
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>
16 years agoiwlwifi: fix software rf_kill problem when interface is down
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>
16 years agoiwlwifi: remove dead code iwl4965_calc_db_from_ratio
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>
16 years agoiwlwifi: retfactor get_temperature functions
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>
16 years agoiwlwifi: move iwl4965_rf_kill_ct_config to iwl-core.c
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>
16 years agoiwlwifi: cleans up scanning code
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>
16 years agoiwlwifi: move rate helpers to iwlcore
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>
16 years agoiwlwifi: move scan to iwl-scan.c iwlcore
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>
16 years agoiwlwifi: add bad length check for WEP keys
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>
16 years agoiwlwifi: refactor setting tx power
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>
16 years agoiwlwifi: refactor tx aggregation response flow
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>
16 years agoiwlwifi: Fix mode changes (ad-hoc <--> managed)
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>
16 years agoiwlwifi enabling IBSS (Ad-Hoc) mode
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>
16 years agoiwlwifi: fix resart flow after fw error
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>
16 years agoiwlwifi: fix resume SW RF-kill
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>
16 years agoiwlwifi: format log prints for easier parsing
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>
16 years agoiwlwifi: fix bug when moving from 11gn to 11a or 11an to 11g
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>
16 years agoiwlwifi: remove redundant flags regarding to FAT channel
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>
16 years agoiwlwifi: remove unused flag
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>
16 years agoiwlwifi: fix allow iwlwifi to aggregate according to tid load
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>
16 years agoiwlwifi: use ieee80211_conf to examine rate capabilities
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>
16 years agoiwlwifi: add TX aggregation code for 5000 HW
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>
16 years agoiwlwifi: map sw and hw ampdu queues
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>
16 years agoiwlwifi: add possibility to disable tx_power calibration
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>
16 years agoiwlwifi: clean up in setup/cancel deferred work
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>
16 years agoiwlwifi: removes the RUN_TIME_CALIB ifdef
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>
16 years agolibertas: rename some registers to clarify their meaning
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>
16 years agolibertas: check for old, unsupported hardware
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>
16 years agolibertas: document register meanings
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>
16 years agolibertas: fix interrupt issue
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>
16 years agomac80211: implement EU regulatory domain
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>
16 years agonl80211: Fix comment merge error
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>
16 years agoiwlwifi: removing IWL4965_HT config
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>
16 years agorndis_wlan: cleanup: rename and remove local pointers
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>
16 years agorndis_wlan: check if set_multicast_list work is already scheduled
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>
16 years agorndis_wlan: update carrier flag when link state changes
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>
16 years agorndis_wlan: do link-down state change in worker thread
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>
16 years agoairo: use simple_read_from_buffer()
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>
16 years agort2x00: Rework alignment check.
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>
16 years agort2x00: Remove unused defines
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>
16 years agort2x00: Clear IEEE80211_TX_CTL_USE_RTS_CTS flag for RTS frame
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>
16 years agort2x00: Use __builtin_choose_expr() instead of ?:
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>
16 years agort2x00: Fix double usage of skb->cb in USB RX path.
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>
16 years agort2x00: Centralize RX packet alignment handling in rt2x00lib.
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>
16 years agort2x00: Cleanup struct skb_frame_desc.
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>
16 years agort2x00: Don't kick TX queue after each frame
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>
16 years agort2x00: Move generic TX frame writing code into rt2x00queue
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>
16 years agort2x00: Implement rt2x00usb_kick_tx_queue()
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>
16 years agort2x00: Fix queue initialization
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>
16 years agort2x00: Release rt2x00 2.1.7
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>
16 years agort2x00: Make rt2x00_set/get_field macros
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>
16 years agort2x00: Removed unused descriptor read in txdone
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>
16 years agort2x00: Remove CTS/RTS check in tx()
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>
16 years agort2x00: Move led initialization into function
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>
16 years agort2x00: Cleanup/optimize set_state() function callback function
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>
16 years agort2x00: Calculate register offset during compile time
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>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
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

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
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"

16 years agoparisc: update my email address
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>
16 years agoparisc: fix miscompilation of ip_fast_csum with gcc >= 4.3
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>
16 years agoparisc: fix off by one in setup_sigcontext32
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>
16 years agoparisc: export empty_zero_page
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>
16 years agoparisc: export copy_user_page_asm
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>
16 years agoparisc: move head.S to head.text section
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>
16 years agoRevert "parisc: fix trivial section name warnings"
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>
16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
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

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
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

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
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

16 years agoudp: reorder udp_iter_state to remove padding on 64bit builds
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>
16 years agoahci: Workaround HW bug for SB600/700 SATA controller PMP support
Shane Huang [Tue, 10 Jun 2008 07:52:04 +0000 (15:52 +0800)]
ahci: Workaround HW bug for SB600/700 SATA controller PMP support

There is one bug in ATI SATA PMP of SB600 and SB700 old revision, which leads
to soft reset failure. This patch can fix the bug.

Signed-off-by: Shane Huang <shane.huang@amd.com>
Acked-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoahci: workarounds for mcp65
Tejun Heo [Mon, 9 Jun 2008 15:13:04 +0000 (00:13 +0900)]
ahci: workarounds for mcp65

MCP65 ahci can do NCQ but doesn't set the CAP bit and rev A0 and A1
can't do MSI but have MSI capability.  Implement AHCI_HFLAG_YES_NCQ
and apply appropriate workarounds.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Peer Chen <pchen@nvidia.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>