openwrt/staging/blogic.git
15 years agort2x00: Add RXDONE_CRYPTO_IV/ICV flags
Ivo van Doorn [Tue, 2 Dec 2008 21:50:33 +0000 (22:50 +0100)]
rt2x00: Add RXDONE_CRYPTO_IV/ICV flags

Drivers should notify rt2x00lib when they provide
the IV/ICV data. This adds some flexibility to drivers
which can't provide all information.
* rt2500usb provides ICV inside the frame
* rt2800pci doesn't provide IV/ICV
* rt2800usb doesn't provide IV/ICV

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945 : Fix a-band association for passive channels
Abhijeet Kolekar [Tue, 2 Dec 2008 20:14:07 +0000 (12:14 -0800)]
iwl3945 : Fix a-band association for passive channels

Patch does following things
    1) This patch fixes the a-band association for passive channels with new
    uCode feature that it allows direct scan on passive channels after
    auto-switch from passive to active. This enables sending of direct probes
    on passive channels, as long as some traffic is detected on that channel.
    This improves the scanning for hidden SSIDs in A-band,which is all
    passive channels.

    This patch fixes the bug no 1748.

        http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1748

    2) This fix will only work with uCode version 15.28.2.8 and above.
    Prior versions of uCode would work only if we heard the traffic within
     active dwell time, which is much shorter than passive dwell time and
    is shorter than typical beacon periods. This patch also provids full
    active dwell time even if we hear traffic late in passive dwell.

    3) uCode API version is incremented to 2.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Acked-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: rely on API version read from firmware
Reinette Chatre [Tue, 2 Dec 2008 20:14:06 +0000 (12:14 -0800)]
iwlwifi: rely on API version read from firmware

This adds the infrastructure to support older firmware APIs.
The API version number is stored as part of the filename, we first try to
load the most recent firmware and progressively try lower versions.
The API version is also read from the firmware self and stored as part
of the iwl_priv structure. Only firmware that is supported by driver will
be loaded. The version number read from firmware is compared
to supported versions in the driver not the API version used as part of
filename.

An example using this new infrastrucure:
   if (IWL_UCODE_API(priv->ucode_ver) >= 2) {
        Driver interacts with Firmware API version >= 2.
   } else {
        Driver interacts with Firmware API version 1.
   }

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: store ucode version number
Chatre, Reinette [Tue, 2 Dec 2008 20:14:05 +0000 (12:14 -0800)]
iwlwifi: store ucode version number

We store the ucode version number as part of
iwl_priv/iwl3945_priv. This enables us to determine
if particular ucode has support for features in order
to have driver support more than one ucode API.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: fix DMA channel number in iwl_txq_ctx_stop
Zhu Yi [Tue, 2 Dec 2008 20:14:04 +0000 (12:14 -0800)]
iwlwifi: fix DMA channel number in iwl_txq_ctx_stop

The patch fixes the misuse of DMA channel number by Tx queue number in
iwl_tx_ctx_stop().

The problem was originally reported by Wu Fengguang who complains
iwlagn driver takes too long time when issuing `ifconfig wlan0 down`.
The patch now decreases the interface bring down time from 2 seconds
to 0.8 second.

This fixes bugs:
http://bugzilla.kernel.org/show_bug.cgi?id=11956
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1790

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Tested-by: Fengguang Wu <fengguang.wu@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Fix iwl3945 rate scaling.
Abbas, Mohamed [Tue, 2 Dec 2008 20:14:03 +0000 (12:14 -0800)]
iwl3945: Fix iwl3945 rate scaling.

3945 rate scaling was broken in recent tree. This patch fix the following:
1- Get TX response info and update rates window.
2- Rate scaling selection.
3- Flush window timer.

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: add debugfs support
Abbas, Mohamed [Tue, 2 Dec 2008 20:14:02 +0000 (12:14 -0800)]
iwl3945: add debugfs support

Add debugfs support to 3945 driver to display rs info.

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: move channels sysfs to debugfs
Winkler, Tomas [Tue, 2 Dec 2008 20:14:01 +0000 (12:14 -0800)]
iwlwifi: move channels sysfs to debugfs

This patch moves channels info display from sysfs to debugfs.
This shows channel information as stored in NIC EEPROM. This
is useful in debugging CRDA or iwl goes setting so it belongs
rather to debugfs then to sysfs.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: move disable/enable interrupts to iwl-core.c
Winkler, Tomas [Tue, 2 Dec 2008 20:14:00 +0000 (12:14 -0800)]
iwlwifi: move disable/enable interrupts to iwl-core.c

This patch moves iwl_enable_interrupts and iwl_disable_interrupts
functions to iwl-core.c

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Select correct sta ID from find_station()
Samuel Ortiz [Tue, 2 Dec 2008 20:13:59 +0000 (12:13 -0800)]
iwl3945: Select correct sta ID from find_station()

The find_station routine needs to look at the IWL_AP_ID entry if we're a STA.
Currently, it only looks for STA entries which causes HW crypto to fail.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: fix printk size format error
Zhu Yi [Tue, 2 Dec 2008 20:13:58 +0000 (12:13 -0800)]
iwlwifi: fix printk size format error

The patch fixes a printk size format error.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: move host command check function into separate file
Winkler, Tomas [Tue, 2 Dec 2008 20:13:57 +0000 (12:13 -0800)]
iwlwifi: move host command check function into separate file

This patch moves iwl_check_rxon_cmd into iwl-agn-hcmd-check.c
This function compiled out in none debugging or non development
mode and more. We haven't decided which one yet hence preserving the
current 'always compile' state.
More functions will be added to the file namely for checking TX and LQ
commands.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Release rt2x00 2.2.3
Ivo van Doorn [Tue, 2 Dec 2008 17:20:59 +0000 (18:20 +0100)]
rt2x00: Release rt2x00 2.2.3

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Implement HW encryption (rt2500usb)
Ivo van Doorn [Tue, 2 Dec 2008 17:20:42 +0000 (18:20 +0100)]
rt2x00: Implement HW encryption (rt2500usb)

rt2500usb supports hardware encryption.
rt2500usb supports up to 4 shared and pairwise keys.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Remove duplicate code
Ivo van Doorn [Tue, 2 Dec 2008 17:20:22 +0000 (18:20 +0100)]
rt2x00: Remove duplicate code

Simplify rt2x00lib_config_antenna() by moving
duplicate code into a seperate static inlined
function.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Store retry limit values
Ivo van Doorn [Tue, 2 Dec 2008 17:20:04 +0000 (18:20 +0100)]
rt2x00: Store retry limit values

Store retry limit values in the rt2x00dev structure.
This allows the removal of the FIXME where we assumed
the long retry is only used when working with RTS frames.

Instead we should check the current retry limit values
and decide if the required retry count for this frame
is a long or short retry.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Optimize IV/EIV handling
Ivo van Doorn [Tue, 2 Dec 2008 17:19:48 +0000 (18:19 +0100)]
rt2x00: Optimize IV/EIV handling

IV and EIV belong to eachother and don't require
2 seperate fields. Instead they can logically be
merged into a single array with size 2.

With this approach we can simplify the code in
rt2x00crypto.c by using a single memcpy() when
copying the iv/eiv data. Additionally we can
move some code out of if-statements because the
if-statement would always be true.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Choose correct ANI calibration period
Sujith [Tue, 2 Dec 2008 13:07:54 +0000 (18:37 +0530)]
ath9k: Choose correct ANI calibration period

ANI can't be turned on/off dynamically yet, but the calculation
of the calibration period is wrong anyway. This patch fixes it.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: 5150 enable LO, TXIQ and BB calibrations
Winkler, Tomas [Tue, 2 Dec 2008 00:32:22 +0000 (16:32 -0800)]
iwlwifi: 5150 enable LO, TXIQ and BB calibrations

This patch enables LO, TXIQ, and BB calibrations for 5150

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: 5150 parametrize eeprom versions
Tomas Winkler [Tue, 2 Dec 2008 00:32:21 +0000 (16:32 -0800)]
iwlwifi: 5150 parametrize eeprom versions

Add support for 5150 eeprom versions

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: 5150 compute ct kill threshold
Tomas Winkler [Tue, 2 Dec 2008 00:32:20 +0000 (16:32 -0800)]
iwlwifi: 5150 compute ct kill threshold

This patch adds computation of ct kill threshold
for 5150. Threshold is computed from calibration
data in the EEPROM.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: 5150 enable DC calibration
Tomas Winkler [Tue, 2 Dec 2008 00:32:19 +0000 (16:32 -0800)]
iwlwifi: 5150 enable DC calibration

This patch enables DC calibration for 5150

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: 5150 add support for 5150
Tomas Winkler [Tue, 2 Dec 2008 00:32:18 +0000 (16:32 -0800)]
iwlwifi: 5150 add support for 5150

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Replace ath9k_opmode with nl80211_iftype
Colin McCabe [Mon, 1 Dec 2008 21:38:55 +0000 (13:38 -0800)]
ath9k: Replace ath9k_opmode with nl80211_iftype

This patch kills ath9k's ath9k_opmode enum by replacing it with nl80211_iftype.

Signed-off-by: Colin McCabe <colin@cozybit.com>
Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: disable AP mode
Johannes Berg [Mon, 1 Dec 2008 17:50:27 +0000 (18:50 +0100)]
iwlwifi: disable AP mode

iwlwifi does not support AP mode in any way. For one, it doesn't even
buffer multicast/broadcast frames properly. We didn't allow zd1211rw AP
mode to be enabled without this, so iwlwifi shouldn't be allowed to
advertise AP mode either.

It also doesn't work at all, it doesn't even answer to probe requests,
I'm guessing the packet injection code was disabled again.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: fix lm87 checksum endianness
Johannes Berg [Mon, 1 Dec 2008 17:19:36 +0000 (18:19 +0100)]
p54: fix lm87 checksum endianness

This fixes the checksum calculation for lm87 firmwares
on big endian platforms, the device treats the data as
an array of 32-bit little endian values so the driver
needs to do that as well.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: "fix" 11d oops
Johannes Berg [Mon, 1 Dec 2008 17:13:05 +0000 (18:13 +0100)]
cfg80211: "fix" 11d oops

This "fixes" the 11d oops I was seeing. This needs some more work but I
cannot work on it now.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: remove obsolete irq handling
Helmut Schaa [Mon, 1 Dec 2008 15:53:28 +0000 (16:53 +0100)]
iwl3945: remove obsolete irq handling

3945 hardware does not emit the interrupts CSR_INT_BIT_RF_KILL (rfkill
toggled) and CSR_INT_BIT_CT_KILL (adapter too hot). Hence this part of code
can be removed since iwl3945_irq_tasklet does not handle 4965 hw at all.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: tx module cleanup.
Rami Rosen [Mon, 1 Dec 2008 11:56:55 +0000 (13:56 +0200)]
mac80211: tx module cleanup.

This patch removes unnecessary parameter in ieee80211_beacon_add_tim() and
removes unneeded definition and assignment for bdev (instance of net_device) in
ieee80211_beacon_get() and in ieee80211_get_buffered_bc()
(all in tx.c).

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix wiphy remove if no regulatory request
Johannes Berg [Mon, 1 Dec 2008 11:07:56 +0000 (12:07 +0100)]
cfg80211: fix wiphy remove if no regulatory request

Fixes the segfault I just pointed out.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: document ieee80211_tx_info.pad
Kalle Valo [Sun, 30 Nov 2008 18:56:28 +0000 (20:56 +0200)]
mac80211: document ieee80211_tx_info.pad

Fixes htmldocs warning:

Warning(mac80211.h:379): No description found for parameter 'pad[2]'

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: per-device names
Christian Lamparter [Sat, 29 Nov 2008 21:39:08 +0000 (22:39 +0100)]
p54: per-device names

This patch replaces the static "p54:" strings in front of most printk's
with their corresponding per-device names.

It was always a bit of a hassle to check which device was
generating all the messages.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: refactoring
Christian Lamparter [Sat, 29 Nov 2008 21:37:31 +0000 (22:37 +0100)]
p54: refactoring

Thanks to the introduction of "changed" flags, we no longer
have to do the bookkeeping of p54's firmware state for everything.
Thus we can cut down redundancy code.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: include support for 2.13.24.0 USB LM87 Firmwares
Christian Lamparter [Sat, 29 Nov 2008 21:35:43 +0000 (22:35 +0100)]
p54: include support for 2.13.24.0 USB LM87 Firmwares

Those firmwares are probably capable of reprogramming the device's eeprom.
We better support them officially, before all the accidents happen.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: utilize cryptographic accelerator
Christian Lamparter [Sat, 29 Nov 2008 21:34:37 +0000 (22:34 +0100)]
p54: utilize cryptographic accelerator

This patch allows p54 to utilize its WEP, TKIP and CCMP accelerator.

Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: revamp station power save management in access point mode
Christian Lamparter [Sat, 29 Nov 2008 21:33:57 +0000 (22:33 +0100)]
p54: revamp station power save management in access point mode

This patch addresses the problem in:
http://marc.info/?l=linux-wireless&m=122727674810057&w=2

Thanks to Stefan Steuerwald <salsasepp@googlemail.com>
extensive iPod touch tests. We could finally squash some bugs in
p54's master mode / access point implementation.

Let's hope we got everything right this time and all stations
from now on will wake up on TIM and receive their queued frames
and go to sleep again without any hiccups.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add sta_notify_ps callback
Christian Lamparter [Sat, 29 Nov 2008 23:48:41 +0000 (00:48 +0100)]
mac80211: add sta_notify_ps callback

This patch is necessary in order to provide a proper Access point support for p54.
Unfortunately for us, there is no documented way to disable the interfering
power save buffering mechanism in firmware completely.

Therefore we give in and notify the driver through our new sta_notify_ps callback,
so that we can update the filter state.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add a debugfs file for dumping DMA status
Sujith [Fri, 28 Nov 2008 16:51:08 +0000 (22:21 +0530)]
ath9k: Add a debugfs file for dumping DMA status

Debugfs file location: ath9k/<wiphy>/dma
Contains values in DMA debug registers.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add initial layout for an ath9k specific debugfs mechanism
Sujith [Fri, 28 Nov 2008 16:50:23 +0000 (22:20 +0530)]
ath9k: Add initial layout for an ath9k specific debugfs mechanism

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove includes that are not needed
Sujith [Fri, 28 Nov 2008 16:49:42 +0000 (22:19 +0530)]
ath9k: Remove includes that are not needed

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add ATH9K_DEBUG configuration option
Sujith [Fri, 28 Nov 2008 16:49:02 +0000 (22:19 +0530)]
ath9k: Add ATH9K_DEBUG configuration option

Make debugging configurable, and add a module parameter
to give the debug mask.
Add debug.c to hold all debug specific code.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Use cleaner debug masks
Sujith [Fri, 28 Nov 2008 16:48:05 +0000 (22:18 +0530)]
ath9k: Use cleaner debug masks

Remove all the useless __func__ prefixes in debug messages,
and replace the DPRINTF macro with a function.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agortl8187: fix retry count passed in rtl8187_tx
herton [Fri, 28 Nov 2008 00:53:24 +0000 (22:53 -0200)]
rtl8187: fix retry count passed in rtl8187_tx

I mistakenly changed retry count passed in rtl8187_tx in previous change
"rtl8187: feedback transmitted packets using tx close descriptor for
8187B". For 8187 it should represent the number of retries (retry count
limit). As explained by Johannes Berg, .count represents the number of
tries (not retries), and retries = tries - 1.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless: clean up radiotap a bit
Johannes Berg [Thu, 27 Nov 2008 22:13:38 +0000 (23:13 +0100)]
wireless: clean up radiotap a bit

No need to pad the header so no constant needed for that,
no need to carry any version number from netbsd nor CVS
IDs from them.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Handle channel initialization for AP mode
Sujith [Thu, 27 Nov 2008 04:16:27 +0000 (09:46 +0530)]
ath9k: Handle channel initialization for AP mode

Hostapd now passes the HT parameters through the config()
callback, use these to set the appropriate channel in AP mode.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: accept empty strings for hidden SSIDs
Fabio Rossi [Wed, 26 Nov 2008 21:44:23 +0000 (22:44 +0100)]
mac80211: accept empty strings for hidden SSIDs

Some access points (e.g. Sitecom WL-174) use an empty string as hidden SSID.

Signed-off-by: Fabio Rossi <rossi.f@inwind.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: handle SIOCGIWMODE/SIOCSIWMODE
Johannes Berg [Wed, 26 Nov 2008 22:31:40 +0000 (23:31 +0100)]
cfg80211: handle SIOCGIWMODE/SIOCSIWMODE

further reducing wext code in mac80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: handle SIOCGIWNAME
Johannes Berg [Wed, 26 Nov 2008 21:36:31 +0000 (22:36 +0100)]
cfg80211: handle SIOCGIWNAME

This patch moves the SIOCGIWNAME handling from mac80211 to cfg80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: enable combined michael mic in key cache
Bob Copeland [Wed, 26 Nov 2008 21:17:25 +0000 (16:17 -0500)]
ath5k: enable combined michael mic in key cache

For mac revisions >= "Griffin," the hardware allows the mic tx and rx
authenticator keys to share the same cache line, whereas earlier
hardware can only store the rx.  Enable the combined mic on hardware
that supports it.

Changes to ath5k.h
Changes-licensed-under: 3-Clause-BSD

Changes to attach.c, pcu.c, reg.h
Changes-licensed-under: ISC

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: clean up ath5k_hw_set_key
Bob Copeland [Wed, 26 Nov 2008 01:55:21 +0000 (20:55 -0500)]
ath5k: clean up ath5k_hw_set_key

Status: O

With the addition of TKIP (and soon CCMP), key->alg is a more useful
guide to key type than the key length.

This patch cleans up key type assignment in ath5k_hw_set_key by
extracting it into its own function.  It also replaces the separate
memcpy() calls for extracting key material into the hardware format
with a loop that works regardless of key size.

Finally, the patch removes support for WEP-128 since it is a
non-standard key length that mac80211 also doesn't use.

Changes-licensed-under: ISC
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: preserve higher order bits when setting mac address
Bob Copeland [Wed, 26 Nov 2008 21:17:11 +0000 (16:17 -0500)]
ath5k: preserve higher order bits when setting mac address

In some cases we would like to set the mac address without changing
the operating mode.  However, Atheros cards store PCU data in the high
16 bits of the mac address register.  Change ath5k_hw_set_lladdr() to
not clobber the PCU settings.

Changes-licensed-under: ISC
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: remove uses of __constant_{endian} helpers
Harvey Harrison [Wed, 26 Nov 2008 21:12:52 +0000 (13:12 -0800)]
iwlwifi: remove uses of __constant_{endian} helpers

The base versions handle constant folding just fine.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: relicense nl80211.h under the ISC
Luis R. Rodriguez [Wed, 26 Nov 2008 21:03:08 +0000 (13:03 -0800)]
nl80211: relicense nl80211.h under the ISC

We have a few BSD/ISC licensed userspace applications which
include nl80211.h from the kernel. To avoid legal ambiguity
for usage of the header file in these projects we rather simply
relicense the header file under the ISC. We've received consent
from all contributors to it.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Acked-by: Luis Carlos Cobo <luisca@cozybit.com>
Acked-by: Michael Buesch <mb@bu3sch.de>
Acked-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Colin McCabe <colin@cozybit.com>
Acked-by: Javier Cardona <javier@cozybit.com>
Cc: johannes@sipsolutions.net
Cc: altape@eden.rutgers.edu
Cc: luisca@cozybit.com
Cc: mb@bu3sch.de
Cc: jouni.malinen@atheros.com
Cc: colin@cozybit.com
Cc: javier@cozybit.com
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Add frequency configuration (including HT40)
Jouni Malinen [Wed, 26 Nov 2008 14:15:24 +0000 (16:15 +0200)]
nl80211: Add frequency configuration (including HT40)

This patch adds new NL80211_CMD_SET_WIPHY attributes
NL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to allow
userspace to set the operating channel (e.g., hostapd for AP mode).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: only transition STAs ps->wake on data frames
Johannes Berg [Wed, 26 Nov 2008 14:02:58 +0000 (15:02 +0100)]
mac80211: only transition STAs ps->wake on data frames

When a station goes to PS mode to scan, it will then send
probe requests without the PS bit set. mac80211 will take
that as indication that the station woke up, but it didn't.
This patch changes mac80211 to only consider doze->wake
transitions on data frames to to fix that issue.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: properly initialize calibration command header
Tomas Winkler [Tue, 25 Nov 2008 21:36:01 +0000 (13:36 -0800)]
iwlwifi: properly initialize calibration command header

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: disassociate prior to unlinking AP/station
Tomas Winkler [Tue, 25 Nov 2008 11:05:44 +0000 (13:05 +0200)]
mac80211: disassociate prior to unlinking AP/station

This patch reorders calls during disassociation in
ieee80211_set_disassoc function.
Since sta_info_unlink calls sta_notify(REMOVE) it will
remove the station representing AP from the driver before
it has disassociated from it using bss_info_changed callback.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: deauth when interface is marked down
John W. Linville [Mon, 1 Dec 2008 19:56:41 +0000 (14:56 -0500)]
mac80211: deauth when interface is marked down

It seems like proper etiquette to let other stations know when we are
going down in either STA or IBSS mode.  This also notifies userland, so
wpa_supplicant doesn't get confused.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agohostap: select required crypto bits in Kconfig
John W. Linville [Wed, 3 Dec 2008 18:55:38 +0000 (13:55 -0500)]
hostap: select required crypto bits in Kconfig

This is fallout from moving the crypto stuff to the new lib80211
component.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoxfrm: Accept ESP packets regardless of UDP encapsulation mode
Martin Willi [Thu, 4 Dec 2008 23:40:17 +0000 (15:40 -0800)]
xfrm: Accept ESP packets regardless of UDP encapsulation mode

From: Martin Willi <martin@strongswan.org>

An IPsec node speaking IKEv2 MUST accept incoming UDP encapsulated
ESP packets, even if no NAT situation is detected. This is important
if MOBIKE is in use. Some implementation keep the encapsulation
mode if they move out of a NAT situation.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosgi-xp: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 23:12:20 +0000 (15:12 -0800)]
sgi-xp: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

[ Kill unnecessary casts, noticed by Ilpo -DaveM ]

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoum: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 23:07:33 +0000 (15:07 -0800)]
um: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoxtensa: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 23:06:56 +0000 (15:06 -0800)]
xtensa: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosimeth: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 23:06:27 +0000 (15:06 -0800)]
simeth: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet/ipv6/ip6mr.c: Use kmem_cache_zalloc, remove memset
Joe Perches [Thu, 4 Dec 2008 06:27:25 +0000 (22:27 -0800)]
net/ipv6/ip6mr.c: Use kmem_cache_zalloc, remove memset

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoif_usb: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 06:24:05 +0000 (22:24 -0800)]
if_usb: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosmc91x: remove isa stuff from smc91x driver
Luotao Fu [Thu, 4 Dec 2008 06:23:18 +0000 (22:23 -0800)]
smc91x: remove isa stuff from smc91x driver

ISA support in smc91x is incomplete. I doubt there're any smc91x isa card.
This driver is greatly used on arm pxa platforms. Hence we remove the
isa stuff from smc91x driver.

Signed-off-by: Luotao Fu <lfu@pengutronix.de>
Acked-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: /proc/net/ip_mr_cache, display Iif as a signed short
Benjamin Thery [Thu, 4 Dec 2008 06:22:16 +0000 (22:22 -0800)]
net: /proc/net/ip_mr_cache, display Iif as a signed short

Today, iproute2 fails to show multicast forwarding unresolved cache
entries while scanning /proc/net/ip_mr_cache.

Indeed, it expects to see -1 in 'Iif' column to identify unresolved
entries but the kernel outputs 65535. It's a signed/unsigned issue:

'Iif', the source interface, is retrieved from member mfc_parent in
struct mfc_cache. mfc_parent is a vifi_t: unsigned short, but is
displayed in ipmr_mfc_seq_show() as "%-3d", signed integer.

In unresolevd entries, the 65535 value (0xFFFF) comes from this define:
#define ALL_VIFS    ((vifi_t)(-1))

That may explains why the guy who added support for this in iproute2
thought a -1 should be expected.

I don't know if this must be fixed in kernel or in iproute2. Who is
right? What is the correct API? How was it designed originally?

I let you decide if it should goes in the kernel or be fixed in iproute2.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: fix /proc/net/ip_mr_cache display - V2
Benjamin Thery [Thu, 4 Dec 2008 06:21:47 +0000 (22:21 -0800)]
net: fix /proc/net/ip_mr_cache display - V2

/proc/net/ip_mr_cache and /proc/net/ip6_mr_cache displays garbage when
showing unresolved mfc_cache entries.

[root@qemu tests]# cat /proc/net/ip_mr_cache
Group    Origin   Iif     Pkts    Bytes    Wrong Oifs
014C00EF 010014AC 1         10    10050        0  2:1    3:1
024C00EF 010014AC 65535      514        2 -559067475

The first line is correct. It is a resolved cache entry, 10 packets used it...
The second line represents an unresolved entry, and the columns Pkts(4th),
Bytes(5th) and Wrong(6th) just show garbage.

In struct mfc_cache, there's an union to store data for resolved and
unresolved cases. And what ipmr_mfc_seq_show() is printing in these
columns for the unresolved entries is some bytes from mfc_cache.mfc_un.res.
Bad.
(eg. In our case -559067475 is in fact 0xdead4ead which is the spinlock
magic from mfc_cache.mfc_un.unres.unresolved.lock.magic).

This patch replaces the garbage data written in these columns for the
unresolved entries by '0' (zeros) which is more correct.
This change doesn't break the ABI.

Also, mfc->mfc_un.res.pkt, mfc->mfc_un.res.bytes, mfc->mfc_un.res.wrong_if
are unsigned long.

It applies on top of net-next-2.6.

The patch for net-2.6 is slightly different because of the NIP6_FMT to
%pI6 conversion that was made in the seq_printf.

Changelog:
==========
V2:
* Instead of breaking the ABI by suppressing the columns that have no
  meaning for unresolved entries, fill them with 0 values.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetdev: remove pathetic compile-command lines
Alexey Dobriyan [Thu, 4 Dec 2008 06:19:52 +0000 (22:19 -0800)]
netdev: remove pathetic compile-command lines

-m486, -O6 are partircularly amusing.

Remove some other useless lines near as well.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoatm: 32-bit ioctl compatibility
David Woodhouse [Thu, 4 Dec 2008 06:12:38 +0000 (22:12 -0800)]
atm: 32-bit ioctl compatibility

We lack compat ioctl support through most of the ATM code. This patch
deals with most of it, and I can now at least use BR2684 and PPPoATM
with 32-bit userspace.

I haven't added a .compat_ioctl method to struct atm_ioctl, because
AFAICT none of the current users need any conversion -- so we can just
call the ->ioctl() method in every case. I looked at br2684, clip, lec,
mpc, pppoatm and atmtcp.

In svc_compat_ioctl() the only mangling which is needed is to change
COMPAT_ATM_ADDPARTY to ATM_ADDPARTY. Although it's defined as
_IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf)
it doesn't actually _take_ a struct atm_iobuf as an argument -- it takes
a struct sockaddr_atmsvc, which _is_ the same between 32-bit and 64-bit
code, so doesn't need conversion.

Almost all of vcc_ioctl() would have been identical, so I converted that
into a core do_vcc_ioctl() function with an 'int compat' argument.

I've done the same with atm_dev_ioctl(), where there _are_ a few
differences, but still it's relatively contained and there would
otherwise have been a lot of duplication.

I haven't done any of the actual device-specific ioctls, although I've
added a compat_ioctl method to struct atmdev_ops.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agone-h8300: convert to net_device_ops
Stephen Hemminger [Thu, 4 Dec 2008 06:10:38 +0000 (22:10 -0800)]
ne-h8300: convert to net_device_ops

Another device using 8390 library that needs converting.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agohydra: convert to net_device_ops
Stephen Hemminger [Thu, 4 Dec 2008 06:10:10 +0000 (22:10 -0800)]
hydra: convert to net_device_ops

Another device using 8390 library that needs converting.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agozorro8390: convert to net_device_ops
Stephen Hemminger [Thu, 4 Dec 2008 06:09:30 +0000 (22:09 -0800)]
zorro8390: convert to net_device_ops

Another device using 8390 library that needs converting.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000: e1000_adapter->polling_netdev is useless
Wang Chen [Thu, 4 Dec 2008 06:07:10 +0000 (22:07 -0800)]
e1000: e1000_adapter->polling_netdev is useless

Commit bea3348eef27e6044b6161fd04c3152215f96411
"[NET]: Make NAPI polling independent of struct net_device objects."
made NAPI polling to be independent of net_device.
So e1000_adapter->polling_netdev is no longer used.
Kill it.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoixgbe: function comment typo
Wang Chen [Thu, 4 Dec 2008 06:05:58 +0000 (22:05 -0800)]
ixgbe: function comment typo

Seems the ixgbe's code was copied from e1000.
The comment talks about something not exist.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agojme: Remove 64 and 40 bit dma_mask
Guo-Fu Tseng [Thu, 4 Dec 2008 05:20:04 +0000 (21:20 -0800)]
jme: Remove 64 and 40 bit dma_mask

Although the hardware supports the 64bit DMA address in design,
but later found that it actually not working.
This patch reduced the rang to 32bit.

Found-by: "Ethan" <ethanhsiao@jmicron.com>
Signed-off-by: "Guo-Fu Tseng" <cooldavid@cooldavid.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agojme: GHC register control fix for new hardware
akeemting [Thu, 4 Dec 2008 05:19:16 +0000 (21:19 -0800)]
jme: GHC register control fix for new hardware

Due to the hardware design, except the first chip on the market,
other chips needs to setup the clock source for MAC processor
implicitly through Global Host Control Register(GHC).
(Strange design huh?)

10/100M uses the PCI-E as clock source, and 1G uses GPHY.

And I reordered the code a little, to make it easier to read.

Found-by: "Ethan" <ethanhsiao@jmicron.com>
Fixed-by: "akeemting" <akeem@jmicron.com>
Signed-off-by: "Guo-Fu Tseng" <cooldavid@cooldavid.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agopkt_sched: sch_htb: Replace HTB_ACCNT() macro with inlines
Jarek Poplawski [Thu, 4 Dec 2008 05:17:27 +0000 (21:17 -0800)]
pkt_sched: sch_htb: Replace HTB_ACCNT() macro with inlines

Replace HTB_ACCNT() macro with inlines to make it more readable.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agopkt_sched: sch_htb: Remove L2T()
Jarek Poplawski [Thu, 4 Dec 2008 05:16:58 +0000 (21:16 -0800)]
pkt_sched: sch_htb: Remove L2T()

L2T() is currently used only in one place (and has one spurious
parameter, btw), so let's: 'get rid of L2T completely, and just
use "qdisc_l2t(rate, size)" directly.' - quote & feedback from
David S. Miller.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobond: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 05:14:04 +0000 (21:14 -0800)]
bond: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomptlan: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 05:13:37 +0000 (21:13 -0800)]
mptlan: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodvb: Kill directly reference of netdev->priv
Wang Chen [Thu, 4 Dec 2008 05:13:13 +0000 (21:13 -0800)]
dvb: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agopkt_sched: sch_htb: Clean htb_class prio and quantum fields
Jarek Poplawski [Thu, 4 Dec 2008 05:09:45 +0000 (21:09 -0800)]
pkt_sched: sch_htb: Clean htb_class prio and quantum fields

While implementing htb_parent_to_leaf() there where added backup prio
and quantum struct htb_class fields to preserve these values for inner
classes in case of their return to leaf. This patch cleans this a bit
by removing union leaf duplicates.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agopkt_sched: sch_htb: Remove htb_sched nwc_hit field
Jarek Poplawski [Thu, 4 Dec 2008 05:09:10 +0000 (21:09 -0800)]
pkt_sched: sch_htb: Remove htb_sched nwc_hit field

Remove practically unused struct htb_sched nwc_hit field.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agopkt_sched: sch_htb: Remove htb_class aprio field
Jarek Poplawski [Thu, 4 Dec 2008 05:08:44 +0000 (21:08 -0800)]
pkt_sched: sch_htb: Remove htb_class aprio field

Remove practically unused struct htb_class aprio field.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoforcedeth: power down phy when interface is down
Ed Swierk [Mon, 1 Dec 2008 12:24:43 +0000 (12:24 +0000)]
forcedeth: power down phy when interface is down

Bring the physical link down when the interface is down by placing the PHY
in power-down state, unless WOL is enabled.  This mirrors the behavior of
other drivers including e1000 and tg3.

Without the patch, ifconfig down leaves the physical link up, which confuses
datacenter users who expect the link lights both on the NIC and the switch to
go out when they bring an interface down.

Furthermore, even though the phy is powered on, autonegotiation stops working,
so a normally gigabit link might suddenly become 100 Mbit half-duplex when the
interface goes down, and become gigabit when it comes up again.

Ayaz said:

  I would not include this patch until further testing is performed.  NVIDIA
  MCP chips use 3rd party PHY vendors.  By powering down the phy, it could
  have adverse affects on certain phys.

Arthur Jones said:

  I just ran across this patch.  Tested on a Marvell 88E1121R (GigE PHY)
  and works great.  This is a very important feature for me.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Tested-by: Arthur Jones <ajones@riverbed.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/smc911x.c: smc911x_drv_probe() cleanup
Andrew Morton [Mon, 1 Dec 2008 12:24:46 +0000 (12:24 +0000)]
drivers/net/smc911x.c: smc911x_drv_probe() cleanup

Save an ugly ifdef.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/isdn/mISDN: use ARRAY_SIZE
Julia Lawall [Mon, 1 Dec 2008 12:24:24 +0000 (12:24 +0000)]
drivers/isdn/mISDN: use ARRAY_SIZE

ARRAY_SIZE is more concise to use when the size of an array is divided by
the size of its type or the size of its first element.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@i@
@@

#include <linux/kernel.h>

@depends on i using "paren.iso"@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoisdn: Kill directly reference of netdev->priv
Wang Chen [Wed, 3 Dec 2008 23:49:46 +0000 (15:49 -0800)]
isdn: Kill directly reference of netdev->priv

Simply use netdev_priv() to replace netdev->priv.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agohysdn: Kill directly reference of netdev->priv
Wang Chen [Wed, 3 Dec 2008 23:49:07 +0000 (15:49 -0800)]
hysdn: Kill directly reference of netdev->priv

Usually, netdev->priv should point to the memory of private
data which is allocated in alloc_netdev().
netdev_priv() is used to get the address of the private data.

Change the netdev->priv pointer to another memory is wrong.
Use netdev->ml_priv for this case.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoPhonet: basic net namespace support
Rémi Denis-Courmont [Wed, 3 Dec 2008 23:42:56 +0000 (15:42 -0800)]
Phonet: basic net namespace support

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoxfrm: Accept XFRM_STATE_AF_UNSPEC SAs on IPv4/IPv6 only hosts
Martin Willi [Wed, 3 Dec 2008 23:38:07 +0000 (15:38 -0800)]
xfrm: Accept XFRM_STATE_AF_UNSPEC SAs on IPv4/IPv6 only hosts

Installing SAs using the XFRM_STATE_AF_UNSPEC fails on hosts with
support for one address family only. This patch accepts such SAs, even
if the processing of not supported packets will fail.

Signed-off-by: Martin Willi <martin@strongswan.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoxfrm: Cleanup for unlink SPD entry
Wei Yongjun [Wed, 3 Dec 2008 08:33:09 +0000 (00:33 -0800)]
xfrm: Cleanup for unlink SPD entry

Used __xfrm_policy_unlink() to instead of the dup codes when unlink
SPD entry.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Wed, 3 Dec 2008 08:29:24 +0000 (00:29 -0800)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

15 years agoxfrm: Fix kernel panic when flush and dump SPD entries
Wei Yongjun [Wed, 3 Dec 2008 08:27:18 +0000 (00:27 -0800)]
xfrm: Fix kernel panic when flush and dump SPD entries

After flush the SPD entries, dump the SPD entries will cause kernel painc.

Used the following commands to reproduct:

- echo 'spdflush;' | setkey -c
- echo 'spdadd 3ffe:501:ffff:ff01::/64 3ffe:501:ffff:ff04::/64  any -P out ipsec \
  ah/tunnel/3ffe:501:ffff:ff00:200:ff:fe00:b0b0-3ffe:501:ffff:ff02:200:ff:fe00:a1a1/require;\
  spddump;' | setkey -c
- echo 'spdflush; spddump;' | setkey -c
- echo 'spdadd 3ffe:501:ffff:ff01::/64 3ffe:501:ffff:ff04::/64  any -P out ipsec \
  ah/tunnel/3ffe:501:ffff:ff00:200:ff:fe00:b0b0-3ffe:501:ffff:ff02:200:ff:fe00:a1a1/require;\
  spddump;' | setkey -c

This is because when flush the SPD entries, the SPD entry is not remove
from the list.

This patch fix the problem by remove the SPD entry from the list.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluet...
David S. Miller [Wed, 3 Dec 2008 06:38:02 +0000 (22:38 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/holtmann/bluetooth-next-2.6

15 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Wed, 3 Dec 2008 03:50:27 +0000 (19:50 -0800)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/ixgbe/ixgbe_main.c
drivers/net/smc91x.c

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Tue, 2 Dec 2008 23:58:20 +0000 (15:58 -0800)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] hpwdt: Fix kdump when using hpwdt
  [WATCHDOG] hpwdt: set the mapped BIOS address space as executable
  [WATCHDOG] iTCO_wdt: add PCI ID's for ICH9 & ICH10 chipsets
  [WATCHDOG] iTCO_wdt : correct status clearing
  [WATCHDOG] iTCO_wdt : problem with rebooting on new ICH9 based motherboards
  [WATCHDOG] fix mtx1_wdt compilation failure

15 years agoMerge branch 'linux-next' of git://git.infradead.org/ubifs-2.6
Linus Torvalds [Tue, 2 Dec 2008 23:56:55 +0000 (15:56 -0800)]
Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6

* 'linux-next' of git://git.infradead.org/ubifs-2.6:
  UBIFS: pre-allocate bulk-read buffer
  UBIFS: do not allocate too much
  UBIFS: do not print scary memory allocation warnings
  UBIFS: allow for gaps when dirtying the LPT
  UBIFS: fix compilation warnings
  MAINTAINERS: change UBI/UBIFS git tree URLs
  UBIFS: endian handling fixes and annotations
  UBIFS: remove printk