11 years agonetlink: Remove compat API for nested attributes
Thomas Graf [Wed, 3 Sep 2008 00:30:27 +0000]
netlink: Remove compat API for nested attributes

Removes all _nested_compat() functions from the API. The prio qdisc
no longer requires them and netem has its own format anyway. Their
existance is only confusing.

Resend: Also remove the wrapper macro.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Sat, 30 Aug 2008 06:06:00 +0000]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:

net/mac80211/mlme.c

11 years agonet: Unbreak userspace usage of linux/mroute.h
David S. Miller [Fri, 29 Aug 2008 21:37:23 +0000]
net: Unbreak userspace usage of linux/mroute.h

Nothing in linux/pim.h should be exported to userspace.

This should fix the XORP build failure reported by
Jose Calhariz, the debain package maintainer.

Nothing originally in linux/mroute.h was exported to userspace
ever, but some of this stuff started to be when it was moved into
this new linux/pim.h, and that was wrong.  If we didn't provide these
definitions for 10 years we can reasonably expect that applications
defined this stuff locally or used GLIBC headers providing the
protocol definitions.  And as such the only result of this can
be conflict and userland build breakage.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()
Jarek Poplawski [Fri, 29 Aug 2008 21:21:52 +0000]
pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()

Use qdisc_root_sleeping_lock() instead of qdisc_root_lock() where
appropriate. The only difference is while dev is deactivated, when
currently we can use a sleeping qdisc with the lock of noop_qdisc.
This shouldn't be dangerous since after deactivation root lock could
be used only by gen_estimator code, but looks wrong anyway.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipv6: When we droped a packet, we should return NET_RX_DROP instead of 0
Yang Hongyang [Fri, 29 Aug 2008 21:06:51 +0000]
ipv6: When we droped a packet, we should return NET_RX_DROP instead of 0

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Fri, 29 Aug 2008 21:02:13 +0000]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6

11 years agob43: Rewrite TX power adjustment
Michael Buesch [Thu, 28 Aug 2008 17:33:40 +0000]
b43: Rewrite TX power adjustment

This patch rewrites the TX power recalculation algorithms to scale better
with changed enviromnent. If there's low
TX traffic, the power will be checked against the desired values
every 60 seconds.
If there is high TX traffic, the check is redone every 2 seconds. This improves
the reaction times a lot and confuses the rate control less.
It will also reduce the time it initially takes to tune to a new TX power
value. With the old algorithm it could take about 30 to 45 seconds to settle to
a new power value. This will happen in about two to four seconds now.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agob43: Implement dynamic PHY API
Michael Buesch [Wed, 27 Aug 2008 16:53:02 +0000]
b43: Implement dynamic PHY API

This patch implements a dynamic "ops" based PHY API.
This is needed in order to conveniently support future PHY types
to avoid the "switch"-hell.

This patch does not change any functionality. It just moves lots
of code from one place to another and adjusts it for the changed
data structures.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agort2x00: Release rt2x00 2.2.1
Ivo van Doorn [Fri, 29 Aug 2008 19:07:22 +0000]
rt2x00: Release rt2x00 2.2.1

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

11 years agort2x00: skb->data pointer should not include TX descriptor
Mattias Nissler [Fri, 29 Aug 2008 19:07:20 +0000]
rt2x00: skb->data pointer should not include TX descriptor

Make sure the skb->data pointer points to the frame data, not the TX
descriptor. The frame dumping code relies on that.

Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agort2x00: Add Signal type flag
Ivo van Doorn [Fri, 29 Aug 2008 19:07:16 +0000]
rt2x00: Add Signal type flag

Instead of using the PLCP flag to indicate if the
signal value is plcp or the bitrate we should add
a new flag to mark the bitrate type explicitely.
This is usefull when new types are added later for
rt2800.

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

11 years agort2x00: Initialize txop during conf_tx() callback
Ivo van Doorn [Fri, 29 Aug 2008 19:05:45 +0000]
rt2x00: Initialize txop during conf_tx() callback

The txop parameter is supported by rt61pci and rt73usb,
and thus should be written to the register instead
of using the fixed value set during initialization.

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

11 years agort2x00: Only configure hardware when radio is enabled
Mattias Nissler [Fri, 29 Aug 2008 19:05:21 +0000]
rt2x00: Only configure hardware when radio is enabled

Some hardware configuration registers such as antenna and channel configuration
can only be written when the radio is enabled. Previously, we didn't consider
this, so some configuration items could be set inconsistently after reenabling
the radio. This patch changes the config() handler to only reprogram the
hardware when the radio is enabled. Configuration changes that are made while
the radio is off are postponed until the radio is switched back on. We also
leave the radio turned off during initialization and only enable it when
requested by mac80211. This allows us to get rid of the DIRTY_CONFIG flag,
because the device is now guaranteed to be completely initialized when brought
up by mac80211.

Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agort2x00: Map extra_tx_headroom to DMA
Ivo van Doorn [Fri, 29 Aug 2008 19:04:50 +0000]
rt2x00: Map extra_tx_headroom to DMA

If a driver requests additional headroom it should
be mapped to DMA as well because it will be send to
the hardware as well (as form of extra descriptor).

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

11 years agort2x00: Fix race conditions in flag handling
Ivo van Doorn [Fri, 29 Aug 2008 19:04:26 +0000]
rt2x00: Fix race conditions in flag handling

Some of the flags should be accessed atomically to
prevent race conditions. The flags that are most important
are those that can change often and indicate the actual
state of the device, queue or queue entry.

The big flag rename was done to move all state flags to
the same naming type as the other rt2x00dev flags and
made sure all places where the flags were used were changed. ;)

Thanks to Stephen for most of the queue flags updates,
which fixes some of the most obvious consequences of the
race conditions. Among those the notorious:

rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.

Signed-off-by: Stephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agolibertas: use the common frame control functions
Harvey Harrison [Mon, 25 Aug 2008 21:06:32 +0000]
libertas: use the common frame control functions

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agorfkill: rename rfkill_mutex to rfkill_global_mutex
Henrique de Moraes Holschuh [Tue, 26 Aug 2008 14:58:00 +0000]
rfkill: rename rfkill_mutex to rfkill_global_mutex

rfkill_mutex and rfkill->mutex are too easy to confuse with each other.

Rename rfkill_mutex to rfkill_global_mutex, so that they are easier to tell
apart with just one glance.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agorfkill: add WARN and BUG_ON paranoia (v2)
Henrique de Moraes Holschuh [Tue, 26 Aug 2008 14:57:59 +0000]
rfkill: add WARN and BUG_ON paranoia (v2)

BUG_ON() and WARN() the heck out of buggy drivers calling into the rfkill
subsystem.

Also switch from WARN_ON(1) to the new descriptive WARN().

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agorfkill: add missing line break
Felipe Balbi [Tue, 26 Aug 2008 14:57:58 +0000]
rfkill: add missing line break

Trivial patch adding a missing line break on
rfkill_claim_show().

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.co>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agorfkill: use strict_strtoul (v2)
Henrique de Moraes Holschuh [Tue, 26 Aug 2008 14:57:57 +0000]
rfkill: use strict_strtoul (v2)

Switch sysfs parsing to something that actually works properly.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: rc.h cleanup
Sujith [Tue, 26 Aug 2008 02:41:26 +0000]
ath9k: rc.h cleanup

Use kernel doc syntax for comments and remove a few unused macros.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Remove sc_lastrx as we don't use it anywhere
Sujith [Tue, 26 Aug 2008 02:41:06 +0000]
ath9k: Remove sc_lastrx as we don't use it anywhere

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Do not update frame's duration field
Sujith [Tue, 26 Aug 2008 02:40:49 +0000]
ath9k: Do not update frame's duration field

When AR_DurUpdateEna is set, the frame's duration field
is updated by the MAC based on the current rate.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Remove more dead code
Sujith [Tue, 26 Aug 2008 02:40:29 +0000]
ath9k: Remove more dead code

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Add LED support
Vasanthakumar Thiagarajan [Mon, 25 Aug 2008 15:17:29 +0000]
ath9k: Add LED support

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211/cfg80211: HT capabilities for NEW_STA
Jouni Malinen [Mon, 25 Aug 2008 08:58:58 +0000]
mac80211/cfg80211: HT capabilities for NEW_STA

Allow userspace (e.g., hostapd) to set HT capabilities for associated
STAs. This is based on a patch from Zhu Yi <yi.zhu@intel.com> (only
the NL80211_ATTR_HT_CAPABILITY for NEW_STA part is included here).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agop54pci: rx tasklet refactoring
Christian Lamparter [Sun, 24 Aug 2008 20:30:38 +0000]
p54pci: rx tasklet refactoring

This patch moves the all of p54pci's receiver code out of the
bloated interrupt handler routine and into a less critical tasklet.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agop54: redo queue numbering
Chr [Sun, 24 Aug 2008 01:15:16 +0000]
p54: redo queue numbering

The firmware supports 8 different queues and not only 4.
So, let's make some room for further tasks (ap/adhoc support)
in this area.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agop54: take tx_queue's lock in rx_frame_sent
Chr [Sun, 24 Aug 2008 01:15:06 +0000]
p54: take tx_queue's lock in rx_frame_sent

p54_rx_frame_sent will alter the tx_queue. Therefore we should hold
the lock to protect against concurrent p54_assign_address calls.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agop54: fix rssi auto calibration
Christian Lamparter [Sat, 23 Aug 2008 20:15:25 +0000]
p54: fix rssi auto calibration

Ever wondered why the signal was so bad with p54 compared to madwifi, or intel?

Well, if you have revision 1 rssi calibration curve points in your EEPROM, then wonder no more.
The firmware wants a extra 1 byte padding for every curve point. But someone forgot to put
them into the EEPROM's data structure...

So now, big question: what happens when we blindly "memcpy" these data points?

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: remove unused #include <version.h>
Huang Weiyi [Sat, 23 Aug 2008 05:56:25 +0000]
wireless: remove unused #include <version.h>

The driver(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
  drivers/net/wireless/b43legacy/main.c
  drivers/net/wireless/iwlwifi/iwl-3945-led.c
  drivers/net/wireless/iwlwifi/iwl-led.c
  drivers/net/wireless/iwlwifi/iwl-rfkill.c

This patch removes the said #include <version.h>.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Use mac80211 for multicast power save buffering
Jouni Malinen [Fri, 22 Aug 2008 14:31:33 +0000]
ath9k: Use mac80211 for multicast power save buffering

Replace the internal ath9k implementation of multicast/broadcast frame
power save buffering (AP mode) in ath9k with use of mac80211
ieee80211_get_buffered_bc() mechanism. This removes quite a bit of
duplicated functionality and simplifies the driver part.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211_hwsim: Add minimal IEEE 802.11n support
Jouni Malinen [Thu, 21 Aug 2008 18:45:56 +0000]
mac80211_hwsim: Add minimal IEEE 802.11n support

Set some semi-random values for HT and add more queues to allow IEEE
802.11n association to be tested with mac80211_hwsim. This with the
latest hostapd git tree version can complete a simulated 802.11n
association successfully (with mac80211 client MLME).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agossb: Clean up extraction of MAC addresses from SPROM
Larry Finger [Wed, 20 Aug 2008 22:45:06 +0000]
ssb: Clean up extraction of MAC addresses from SPROM

Only rev 1 and 2 ssb SPROMs have fields named et0mac and et1mac;
however, all of the extraction routines extract pseudo data for these
fields from regions that are all 1's resulting in a hardware address
of FF:FF:FF:FF:FF:FF. This patch forces such a fill at the beginning of
the data extraction process, and only does the formal extraction if the
SPROM rev is 1 or 2.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agolibertas: convert adhoc operations to direct commands
Dan Williams [Fri, 22 Aug 2008 01:46:59 +0000]
libertas: convert adhoc operations to direct commands

with fixes for v9 and later firmware too.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agolibertas: convert CMD_802_11_RADIO_CONTROL to a direct command
Dan Williams [Thu, 21 Aug 2008 21:51:07 +0000]
libertas: convert CMD_802_11_RADIO_CONTROL to a direct command

and return errors for operations like join & scan that aren't possible
when the radio is turned off.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agolibertas: convert CMD_802_11_DEAUTHENTICATE to a direct command
Dan Williams [Thu, 21 Aug 2008 21:46:18 +0000]
libertas: convert CMD_802_11_DEAUTHENTICATE to a direct command

and remove DISASSOCIATE because it's not in any of the specs and has
never been used.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agolibertas: convert CMD_802_11_RF_TX_POWER to a direct command
Dan Williams [Tue, 19 Aug 2008 19:15:35 +0000]
libertas: convert CMD_802_11_RF_TX_POWER to a direct command

And while we're at it, grab min/max TX power from the firmware and use
that to validate incoming TX power requests from WEXT.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agossb: Update for Rev. 5 SPROM
Larry Finger [Tue, 19 Aug 2008 17:50:31 +0000]
ssb: Update for Rev. 5 SPROM

Although a revision 5 SPROM has not been seen in the wild, the
open-source portion of the MIPS driver 4.150.10.5 describes its
layout, which is mostly inherited from revision 4. This patch
implements the differences.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: Use only precedence level of DSCP field for frame classification
Daniel Wagner [Tue, 19 Aug 2008 13:44:35 +0000]
mac80211: Use only precedence level of DSCP field for frame classification

Bit 4-5 of DSCP should not be considered by classify_d1. The
802.11 QoS Priority field is only depending on the precedence level.

Signed-off-by: Daniel Wagner <wagi@monom.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: Handle scan result IEs in one block
Jouni Malinen [Fri, 15 Aug 2008 19:21:27 +0000]
mac80211: Handle scan result IEs in one block

Clean up and extend scan result processing by storing all the IEs from
Beacon/Probe Response frames in a single block instead of allocating
memory for each specific IE separately. This removes lot of unnecessary
code and automatically supports reporting of new IEs (e.g., IEEE
802.11r) into user space without need to manually extend mac80211
scanning code whenever a new protocol adds IE(s).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Add IEEE80211_HW_RX_INCLUDES_FCS to hw flags
Sujith [Thu, 14 Aug 2008 07:58:20 +0000]
ath9k: Add IEEE80211_HW_RX_INCLUDES_FCS to hw flags

Don't trim the FCS before passing the frame to mac80211,
move TSF_TO_TU to core.h and delete more unused macros.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Use definition from ieee80211.h
Sujith [Thu, 14 Aug 2008 07:58:02 +0000]
ath9k: Use definition from ieee80211.h

Also, Max RX-ampdu and mpdu-density are ath9k specific.
Rename appropriately.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: Add an 802.11n definition
Sujith [Thu, 14 Aug 2008 07:57:41 +0000]
mac80211: Add an 802.11n definition

This patch adds a HT Capability (DSSS/CCK Mode in 40MHz BSS)
definition to ieee80211.h

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Miscellaneous fixes
Sujith [Thu, 14 Aug 2008 07:57:16 +0000]
ath9k: Miscellaneous fixes

This patch removes ath_vap_listen() and dma wrapper macros.
Also, Inline abuse is cleaned up and a few typos are fixed.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Random cleanup
Sujith [Thu, 14 Aug 2008 07:56:55 +0000]
ath9k: Random cleanup

Remove dead code, add newlines, fix indentation.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Remove remaining occurences of ath_skb_map functions
Sujith [Thu, 14 Aug 2008 07:56:34 +0000]
ath9k: Remove remaining occurences of ath_skb_map functions

Use direct pci functions instead.
Also, use sc_ht_info.tx_chan_width directly and remove ath_cwm_macmode.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Fix TX control flag use for no ACK and RTS/CTS
Jouni Malinen [Mon, 11 Aug 2008 11:01:51 +0000]
ath9k: Fix TX control flag use for no ACK and RTS/CTS

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Assign seq# when mac80211 requests this
Jouni Malinen [Mon, 11 Aug 2008 11:01:50 +0000]
ath9k: Assign seq# when mac80211 requests this

Use TX control flag IEEE80211_TX_CTL_ASSIGN_SEQ as a request to update
the seq# for the frames. This will likely require some further cleanup
to get seq# correctly for Beacons vs. other frames and also potentially
for multiple BSSes. Anyway, this is better than ending up sending out
most frames with seq# 0.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Fix TX status reporting
Jouni Malinen [Mon, 11 Aug 2008 11:01:49 +0000]
ath9k: Fix TX status reporting

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Updated Beacon generation to use mac80211-style
Jouni Malinen [Mon, 11 Aug 2008 11:01:48 +0000]
ath9k: Updated Beacon generation to use mac80211-style

This change moves ath9k to use mac80211-generated Beacon frames instead
of trying to allocate a single Beacon frame and then update it. In
addition, the remaining ath_skb_{map,unmap}_single() wrapper calls are
replaced with direct pci_{map,unmap}_single() calls in beacon.c. Power
save buffering for multicast/broadcast frames is not yet converted to
use mac80211-style (frames to be buffered inside mac80211, not in
driver).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Allow AP mode to be enabled
Jouni Malinen [Mon, 11 Aug 2008 11:01:47 +0000]
ath9k: Allow AP mode to be enabled

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Trim struct ath_softc
Sujith [Mon, 11 Aug 2008 08:35:46 +0000]
ath9k: Trim struct ath_softc

Add sc_rxflush and sc_noreset as bitfields to sc_flags.
Remove a few variables and function prototypes that are unused.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Use ah_curchan and remove sc_curchan which is redundant
Sujith [Mon, 11 Aug 2008 08:35:26 +0000]
ath9k: Use ah_curchan and remove sc_curchan which is redundant

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Use bitfields for sc operations
Sujith [Mon, 11 Aug 2008 08:35:08 +0000]
ath9k: Use bitfields for sc operations

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Use a single opmode variable
Sujith [Mon, 11 Aug 2008 08:34:52 +0000]
ath9k: Use a single opmode variable

ah_opmode and sc_opmode are redundant.
This patch removes sc_opmode.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Unused macros, variables
Sujith [Mon, 11 Aug 2008 08:34:32 +0000]
ath9k: Unused macros, variables

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Remove ar5416hal and assign default values directly
Sujith [Mon, 11 Aug 2008 08:34:13 +0000]
ath9k: Remove ar5416hal and assign default values directly

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Remove a few unnecessary macros
Sujith [Mon, 11 Aug 2008 08:33:53 +0000]
ath9k: Remove a few unnecessary macros

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Use bitfields for buffer type
Sujith [Mon, 11 Aug 2008 08:33:34 +0000]
ath9k: Use bitfields for buffer type

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: RX Filter cleanup
Sujith [Mon, 11 Aug 2008 08:33:13 +0000]
ath9k: RX Filter cleanup

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Merge reset functions
Sujith [Mon, 11 Aug 2008 08:32:53 +0000]
ath9k: Merge reset functions

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211/cfg80211: Add BSS configuration options for AP mode
Jouni Malinen [Thu, 7 Aug 2008 17:07:01 +0000]
mac80211/cfg80211: Add BSS configuration options for AP mode

This change adds a new cfg80211 command, NL80211_CMD_SET_BSS, to allow
AP mode BSS parameters to be changed from user space (e.g., hostapd).
The drivers using mac80211 are expected to be modified with separate
changes to use the new BSS info parameter for short slot time in the
bss_info_changed() handler.

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>

11 years agomac80211: fill start-sequence-number for BA session start
Johannes Berg [Wed, 6 Aug 2008 19:45:26 +0000]
mac80211: fill start-sequence-number for BA session start

Otherwise, drivers are required to keep track of the sequence numbers
themselves, and they really shouldn't be since we already do it for
them. I'll fix the race once we figure out how this code should work
at all, it's currently disabled.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agonet: more #ifdef CONFIG_COMPAT
Alexey Dobriyan [Thu, 28 Aug 2008 09:53:51 +0000]
net: more #ifdef CONFIG_COMPAT

All users of struct proto::compat_[gs]etsockopt and
struct inet_connection_sock_af_ops::compat_[gs]etsockopt are under
#ifdef already, so use it in structure definition too.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoip: speedup /proc/net/rt_cache handling
Eric Dumazet [Thu, 28 Aug 2008 08:11:25 +0000]
ip: speedup /proc/net/rt_cache handling

When scanning route cache hash table, we can avoid taking locks for
empty buckets.  Both /proc/net/rt_cache and NETLINK RTM_GETROUTE
interface are taken into account.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoinet_diag: Add empty bucket optimization to inet_diag too
Andi Kleen [Thu, 28 Aug 2008 08:09:54 +0000]
inet_diag: Add empty bucket optimization to inet_diag too

Skip quickly over empty buckets in inet_diag.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotcp: Skip empty hash buckets faster in /proc/net/tcp
Andi Kleen [Thu, 28 Aug 2008 08:08:02 +0000]
tcp: Skip empty hash buckets faster in /proc/net/tcp

On most systems most of the TCP established/time-wait hash buckets are empty.
When walking the hash table for /proc/net/tcp their read locks would
always be aquired just to find out they're empty. This patch changes the code
to check first if the buckets have any entries before taking the lock, which
is much cheaper than taking a lock. Since the hash tables are large
this makes a measurable difference on processing /proc/net/tcp,
especially on architectures with slow read_lock (e.g. PPC)

On a 2GB Core2 system time cat /proc/net/tcp > /dev/null (with a mostly
empty hash table) goes from 0.046s to 0.005s.

On systems with slower atomics (like P4 or POWER4) or larger hash tables
(more RAM) the difference is much higher.

This can be noticeable because there are some daemons around who regularly
scan /proc/net/tcp.

Original idea for this patch from Marcus Meissner, but redone by me.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosctp: fix random memory dereference with SCTP_HMAC_IDENT option.
Vlad Yasevich [Wed, 27 Aug 2008 23:09:49 +0000]
sctp: fix random memory dereference with SCTP_HMAC_IDENT option.

The number of identifiers needs to be checked against the option
length.  Also, the identifier index provided needs to be verified
to make sure that it doesn't exceed the bounds of the array.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosctp: correct bounds check in sctp_setsockopt_auth_key
Vlad Yasevich [Wed, 27 Aug 2008 23:08:54 +0000]
sctp: correct bounds check in sctp_setsockopt_auth_key

The bonds check to prevent buffer overlflow was not exactly
right.  It still allowed overflow of up to 8 bytes which is
sizeof(struct sctp_authkey).

Since optlen is already checked against the size of that struct,
we are guaranteed not to cause interger overflow either.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'lvs-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms...
David S. Miller [Wed, 27 Aug 2008 12:11:26 +0000]
Merge branch 'lvs-next-2.6' of git://git./linux/kernel/git/horms/lvs-2.6

11 years agowan: Missing capability checks in sbni_ioctl()
Eugene Teo [Wed, 27 Aug 2008 11:50:30 +0000]
wan: Missing capability checks in sbni_ioctl()

There are missing capability checks in the following code:

1300 static int
1301 sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd)
1302 {
[...]
1319     case  SIOCDEVRESINSTATS :
1320         if( current->euid != 0 )    /* root only */
1321             return  -EPERM;
[...]
1336     case  SIOCDEVSHWSTATE :
1337         if( current->euid != 0 )    /* root only */
1338             return  -EPERM;
[...]
1357     case  SIOCDEVENSLAVE :
1358         if( current->euid != 0 )    /* root only */
1359             return  -EPERM;
[...]
1372     case  SIOCDEVEMANSIPATE :
1373         if( current->euid != 0 )    /* root only */
1374             return  -EPERM;

Here's my proposed fix:

Missing capability checks.

Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'no-iwlwifi' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
David S. Miller [Wed, 27 Aug 2008 11:29:50 +0000]
Merge branch 'no-iwlwifi' of git://git./linux/kernel/git/linville/wireless-2.6

11 years agoMerge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Wed, 27 Aug 2008 10:54:45 +0000]
Merge branch 'davem-fixes' of /linux/kernel/git/jgarzik/netdev-2.6

11 years agoe100, fix iomap read
Jiri Slaby [Thu, 14 Aug 2008 16:27:23 +0000]
e100, fix iomap read

There were 2 omitted readb's used on an iomap space. eliminate them
by using ioread8 instead.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Bruce Allan <bruce.w.allan@intel.com>
Cc: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
Cc: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoqeth: preallocated header account offset
Frank Blaschka [Fri, 15 Aug 2008 06:03:00 +0000]
qeth: preallocated header account offset

When a preallocated header qdio buffer is filled we have to account
the offset for the data length.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoqeth: l2 write unicast list to hardware
Frank Blaschka [Fri, 15 Aug 2008 06:02:59 +0000]
qeth: l2 write unicast list to hardware

In case the netdev unicast list contains additional entries we have
to register/deregister them.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoqeth: use -EOPNOTSUPP instead of -ENOTSUPP.
Ursula Braun [Fri, 15 Aug 2008 06:02:58 +0000]
qeth: use -EOPNOTSUPP instead of -ENOTSUPP.

return value -ENOTSUPP is not valid in userspace context, use
-EOPNOTSUPP instead.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoibm_newemac: Don't call dev_mc_add() before device is registered
Benjamin Herrenschmidt [Sun, 17 Aug 2008 21:29:23 +0000]
ibm_newemac: Don't call dev_mc_add() before device is registered

We must not call dev_mc_add() from within our HW configure which happens
before we initialize and register the netdev. Do it in open() instead.

Thanks to Sebastian Siewior for tracking it down.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agonet: don't grab a mutex within a timer context in gianfar
Sebastian Siewior [Tue, 19 Aug 2008 19:12:45 +0000]
net: don't grab a mutex within a timer context in gianfar

I got the following backtrace while network was unavailble:

|NETDEV WATCHDOG: eth0: transmit timed out
|BUG: sleeping function called from invalid context at /home/bigeasy/git/linux-2.6-powerpc/kernel/mutex.c:87
|in_atomic():1, irqs_disabled():0
|Call Trace:
|[c0383d90] [c0006dd8] show_stack+0x48/0x184 (unreliable)
|[c0383db0] [c001e938] __might_sleep+0xe0/0xf4
|[c0383dc0] [c025a43c] mutex_lock+0x24/0x3c
|[c0383de0] [c019005c] phy_stop+0x20/0x70
|[c0383df0] [c018d4ec] stop_gfar+0x28/0xf4
|[c0383e10] [c018e8c4] gfar_timeout+0x30/0x60
|[c0383e20] [c01fe7c0] dev_watchdog+0xa8/0x144
|[c0383e30] [c002f93c] run_timer_softirq+0x148/0x1c8
|[c0383e60] [c002b084] __do_softirq+0x5c/0xc4
|[c0383e80] [c00046fc] do_softirq+0x3c/0x54
|[c0383e90] [c002ac60] irq_exit+0x3c/0x5c
|[c0383ea0] [c000b378] timer_interrupt+0xe0/0xf8
|[c0383ec0] [c000e5ac] ret_from_except+0x0/0x18
|[c0383f80] [c000804c] cpu_idle+0xcc/0xdc
|[c0383fa0] [c025c07c] etext+0x7c/0x90
|[c0383fc0] [c0338960] start_kernel+0x294/0x2a8
|[c0383ff0] [c00003dc] skpinv+0x304/0x340
|------------[ cut here ]------------

The phylock was once a spinlock but got changed into a mutex via
commit 35b5f6b1a aka [PHYLIB: Locking fixes for PHY I/O potentially sleeping]

Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoforcedeth: fix checksum flag
Ayaz Abdulla [Wed, 20 Aug 2008 23:34:37 +0000]
forcedeth: fix checksum flag

Fix the checksum feature advertised in device flags.  The hardware support
TCP/UDP over IPv4 and TCP/UDP over IPv6 (without IPv6 extension headers).
However, the kernel feature flags do not distinguish IPv6 with/without
extension headers.

Therefore, the driver needs to use NETIF_F_IP_CSUM instead of
NETIF_F_HW_CSUM since the latter includes all IPv6 packets.

A future patch can be created to check for extension headers and perform
software checksum calculation.

Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Manfred Spraul <manfred@colorfullife.com
Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agonet/usb/mcs7830: add set_mac_address
Oliver Martin [Sat, 23 Aug 2008 20:08:47 +0000]
net/usb/mcs7830: add set_mac_address

Implement set_mac_address for mcs7830. This enables me to use it with my
cable modem.

Signed-off-by: Oliver Martin <oliver.martin@student.tuwien.ac.at>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agonet/usb/mcs7830: new device IDs
Arnd Bergmann [Sat, 23 Aug 2008 20:02:23 +0000]
net/usb/mcs7830: new device IDs

This adds USB device IDs for MosChip 7730 and Sitecom LN030
to the mcs7830 driver. The IDs have been reported to work without
further modifications.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: David Brownell <david-b@pacbell.net>
Cc: Viktor Horvath <ViktorHorvath@gmx.net>
Cc: Robbert Wethmar <robbert@wethmar.nl>
Cc: Bart van der Klip <bklip@xs4all.nl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years ago[netdrvr] smc91x: fix resource removal (null ptr deref)
Jeff Garzik [Wed, 27 Aug 2008 09:54:30 +0000]
[netdrvr] smc91x: fix resource removal (null ptr deref)

Properly handle resource cleanup on unplug/exit.

Spotted by Jonathan Cameron

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoibmveth: fix bad UDP checksums
Santiago Leon [Wed, 20 Aug 2008 19:09:19 +0000]
ibmveth: fix bad UDP checksums

This patch fixes a ibmveth bug where bad UDP checksums are being transmitted
when checksum offloading is enabled.
The hypervisor does checksum offloading only on TCP packets, so ibmveth calls
skb_checksum_help() for any other protocol.  The bug happens because
the packet is being modified after the DMA map, so we would need a memory
barrier before making the hypervisor call.  Reordering the code so that the
DMA map happens after skb_checksum_help() has the additional advantage of
fixing a DMA map leak if skb_checksum_help() where to fail.

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years ago[netdrvr] hso: dev_kfree_skb crash fix
Denis Joseph Barrow [Wed, 20 Aug 2008 01:07:55 +0000]
[netdrvr] hso: dev_kfree_skb crash fix

Fixes dev_kfree_skb happening too many times when hso_start_net_device
is called from hso_resume.

Signed-off-by: Denis Joseph Barrow <D.Barow@option.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years ago[netdrvr] hso: icon 322 detection fix
Denis Joseph Barrow [Wed, 20 Aug 2008 01:07:52 +0000]
[netdrvr] hso: icon 322 detection fix

Fixes Icon-322 detection.

Signed-off-by: Denis Joseph Barrow <D.Barow@option.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoatl1: disable TSO by default
Jay Cliburn [Tue, 19 Aug 2008 00:28:13 +0000]
atl1: disable TSO by default

The atl1 driver is causing stalled connections and file corruption
whenever TSO is enabled.  Two examples are here:

http://lkml.org/lkml/2008/7/15/325
http://lkml.org/lkml/2008/8/18/543

Disable TSO by default until we can determine the source of the
problem.

Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
cc: stable@kernel.org
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoatl1e: multistatement if missing braces
Ilpo Järvinen [Tue, 19 Aug 2008 07:32:06 +0000]
atl1e: multistatement if missing braces

Doesn't cause problems (yet) because err gets zeroed earlier.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoigb: remove 82576 quad adapter
Alexander Duyck [Fri, 8 Aug 2008 23:51:26 +0000]
igb: remove 82576 quad adapter

Disable support for device 8086:10E8.  Currently the result of loading the
driver with the device present causes system instability.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agodrivers/net/skfp/ess.c: fix compile warnings
Takashi Iwai [Wed, 20 Aug 2008 23:34:35 +0000]
drivers/net/skfp/ess.c: fix compile warnings

CC [M] drivers/net/skfp/ess.o
drivers/net/skfp/ess.c: In function 'ess_send_response':
drivers/net/skfp/ess.c:513: warning: cast from pointer to integer of different size
drivers/net/skfp/ess.c: In function 'ess_send_alc_req':
drivers/net/skfp/ess.c:609: warning: cast from pointer to integer of different size
drivers/net/skfp/ess.c:639: warning: cast from pointer to integer of different size

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoipv4: mode 0555 in ipv4_skeleton
Hugh Dickins [Wed, 27 Aug 2008 09:35:18 +0000]
ipv4: mode 0555 in ipv4_skeleton

vpnc on today's kernel says Cannot open "/proc/sys/net/ipv4/route/flush":
d--------- 0 root root 0 2008-08-26 11:32 /proc/sys/net/ipv4/route
d--------- 0 root root 0 2008-08-26 19:16 /proc/sys/net/ipv4/neigh

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotcp: fix tcp header size miscalculation when window scale is unused
Philip Love [Wed, 27 Aug 2008 09:33:50 +0000]
tcp: fix tcp header size miscalculation when window scale is unused

The size of the TCP header is miscalculated when the window scale ends
up being 0. Additionally, this can be induced by sending a SYN to a
passive open port with a window scale option with value 0.

Signed-off-by: Philip Love <love_phil@emc.com>
Signed-off-by: Adam Langley <agl@imperialviolet.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopkt_sched: Fix sch_tree_lock()
Jarek Poplawski [Wed, 27 Aug 2008 09:27:10 +0000]
pkt_sched: Fix sch_tree_lock()

Use new qdisc_root_sleeping_lock() instead of qdisc_root_lock() as
sch_tree_lock() because this lock could be used while dev is
deactivated, but we never need to use this with noop_qdisc as a root.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopkt_sched: Fix gen_estimator locks
Jarek Poplawski [Wed, 27 Aug 2008 09:25:17 +0000]
pkt_sched: Fix gen_estimator locks

While passing a qdisc root lock to gen_new_estimator() and
gen_replace_estimator() dev could be deactivated or even before
grafting proper root qdisc as qdisc_sleeping (e.g. qdisc_create), so
using qdisc_root_lock() is not enough. This patch adds
qdisc_root_sleeping_lock() for this, plus additional checks, where
necessary.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopkt_sched: Use rcu_assign_pointer() to change dev_queue->qdisc
Jarek Poplawski [Wed, 27 Aug 2008 09:22:07 +0000]
pkt_sched: Use rcu_assign_pointer() to change dev_queue->qdisc

These pointers are RCU protected, so proper primitives should be used.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoLCS recovery dumps when cable reconnect
Klaus-D. Wacker [Thu, 21 Aug 2008 15:10:25 +0000]
LCS recovery dumps when cable reconnect

LCS recovery dumps in irq routine when CCW address in
Subchannel Status Word (SCSW) is zero. This occurs
when recovery is driven after cable reconnect.

Signed-off-by: Klaus-D. Wacker <kdwacker@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoctcm: netdev->priv vs. netdev->ml_priv
Peter Tiedemann [Thu, 21 Aug 2008 15:10:24 +0000]
ctcm: netdev->priv vs. netdev->ml_priv

Use netdev->ml_priv instead of netdev->priv

Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoclaw: netdev->priv vs. netdev->ml_priv
Peter Tiedemann [Thu, 21 Aug 2008 15:10:23 +0000]
claw: netdev->priv vs. netdev->ml_priv

Use netdev->ml_priv instead of netdev->priv

Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoclaw: fix memory leak in claw_probe.
Martin Schwidefsky [Thu, 21 Aug 2008 15:10:22 +0000]
claw: fix memory leak in claw_probe.

probe_error() frees memory only, if cgdev->dev.driver_data refers
to the claw_privbk structure. Move forward its setting in claw_probe()
to ensure proper freeing of claw_privbk allocations.

Cc: Daniel <danielm77@spray.se>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>