]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoiwlwifi: define firmware file name once
Jay Sternberg [Tue, 14 Oct 2008 19:32:41 +0000 (12:32 -0700)]
iwlwifi: define firmware file name once

string repeated for definition of ucode firmware file and in preparation for
multiple firmware files need to consolidate location for their definition.

Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>
Acked-by: Tomas Winkler <tomas.winler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomake ieee80211 invisible
Johannes Berg [Tue, 14 Oct 2008 17:49:22 +0000 (19:49 +0200)]
make ieee80211 invisible

This makes CONFIG_IEEE80211 invisible. The drivers that require it
(ipw2100, ipw2200, hostap) select it, and everybody else really
shouldn't even think about using it. Also, since there really is
no point in compiling anything without crypto support these days,
remove the crypto options and just enable them, leaving only the
debugging option which only shows up when a driver is select that
requires it. This makes it hard to enable, but most people wouldn't
want to anyway.

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>
17 years agoipw2x00: change default policy for auto-associate
Tim Gardner [Tue, 14 Oct 2008 16:38:03 +0000 (10:38 -0600)]
ipw2x00: change default policy for auto-associate

Do not attempt association until directed to do so by a user space
application. In particular, this avoids race conditions with
NetworkManager association state.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: implement MRR
Johannes Berg [Tue, 14 Oct 2008 14:56:51 +0000 (16:56 +0200)]
p54: implement MRR

This implements multi-rate retry in p54. With lots of help
and testing from Christian and the limiting idea from nbd.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211/drivers: rewrite the rate control API
Johannes Berg [Tue, 21 Oct 2008 10:40:02 +0000 (12:40 +0200)]
mac80211/drivers: rewrite the rate control API

So after the previous changes we were still unhappy with how
convoluted the API is and decided to make things simpler for
everybody. This completely changes the rate control API, now
taking into account 802.11n with MCS rates and more control,
most drivers don't support that though.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: add might_sleep to hw_config
Johannes Berg [Tue, 14 Oct 2008 14:38:55 +0000 (16:38 +0200)]
mac80211: add might_sleep to hw_config

Just to catch bugs when changing mac80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoairo: Kill directly reference of netdev->priv
Wang Chen [Tue, 14 Oct 2008 05:30:33 +0000 (13:30 +0800)]
airo: Kill directly reference of netdev->priv

We have some reasons to kill netdev->priv:
1. netdev->priv is equal to netdev_priv().
2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
   netdev_priv() is more flexible than netdev->priv.
But we cann't kill netdev->priv, because so many drivers reference to it
directly.

OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug",
and I want to kill netdev->priv later, I decided to convert all the direct
reference of netdev->priv first.

In this driver, I don't simply use netdev_priv() to replace netdev->priv.

The reason is:
Pointer netdev->priv was changed in this driver, but it shouldn't.
Because the memory was allocated when alloc_netdev() and netdev->priv
should always point to that memory.

So I use netdev->ml_priv to replace netdev->priv.
After replacing, both ai and ai->wifidev->ml_priv point to the same memory.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath5k: fix mesh point operation
Andrey Yurovsky [Tue, 14 Oct 2008 01:23:07 +0000 (18:23 -0700)]
ath5k: fix mesh point operation

This patch fixes mesh point operation (thanks to YanBo for pointing
out the problem): make mesh point interfaces start beaconing when
they come up and configure the RX filter in mesh mode so that mesh
beacons and action frames are received.  Add mesh point to the check
in ath5k_add_interface.  Tested with multiple AR5211 cards.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath5k: correct ath5k signal quality
Luis R. Rodriguez [Mon, 13 Oct 2008 21:08:10 +0000 (14:08 -0700)]
ath5k: correct ath5k signal quality

This adjusts ath5k's signal quality reporting taking into
consideration received beacons at an RSSI of 35 should indicate
you can use of 54 Mbps on a single stream card (all ath5k cards)
reliably.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: correct signal quality report
Luis R. Rodriguez [Mon, 13 Oct 2008 21:08:09 +0000 (14:08 -0700)]
ath9k: correct signal quality report

This adjusts ath9k's signal quality reporting taking into
consideration received beacons at an RSSI of 45 should indicate
you can use of MCS 15 rate (144 Mbps) reliably on dual stream card.
Keep in mind mac80211 does not yet have aggregation fixed but this
should still provide more accurate results.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath5k/ath9k: correct signal quality
Luis R. Rodriguez [Mon, 13 Oct 2008 21:08:07 +0000 (14:08 -0700)]
ath5k/ath9k: correct signal quality

Now that we officially are supporting ath5k I can do this
at work hours.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agortl8187: add short slot handling for 8187B
Herton Ronaldo Krzesinski [Mon, 13 Oct 2008 18:11:00 +0000 (18:11 +0000)]
rtl8187: add short slot handling for 8187B

This change adds short slot handling for 8187B variant of rtl8187 chips.
Some things to note about changes done:
* Values used are chosen to met 802.11-2007 spec. This raised a question
  about SIFS value used with 8187L: 0x22 (34) doesn't match any spec
  value. For now just don't change 8187L, but is something to be
  looked at.
* On 8187B, the location of EIFS register is at the same place as BRSR+1
  of struct rtl818x_csr. Unfortunately there is no clean way to
  accomodate 8187B differences currently, just use address of BRSR+1 and
  comment about it. The same thing happens for Ack timeout register,
  that is on CARRIER_SENSE_COUNTER location of 8187L. The eifs and ack
  timeout values are in units of 4us. All these registers information
  was gathered from references being the vendor gpl driver and 8180
  datasheet, unfortunately there is no information about this on 8187B
  datasheet. Also the ack timeout value was inspired by the same
  calculation as done on rt2x00.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agortl8187: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag
Herton Ronaldo Krzesinski [Mon, 13 Oct 2008 18:10:59 +0000 (18:10 +0000)]
rtl8187: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag

This updates 8187L handling for short slot after "mac80211: fix short
slot handling". For 8187B, there was no handling done for short slot
timing so nothing done, support for it will come in a following patch.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoAth5k: add AP mode
Jiri Slaby [Sun, 12 Oct 2008 20:54:10 +0000 (22:54 +0200)]
Ath5k: add AP mode

Add support for AP mode. This involves:
- enablement in ath5k_beacon_config -- initialize beacon timer
- add AP to the supported modes in ath5k_add_interface
- handle beacon change even for AP in ath5k_config_interface
- remove useless test for IBSS in ath5k_beacon_update

Note that it doesn't enable the AP mode for the driver. It must
be enabled by NL80211_IFTYPE_AP bit added to interface_modes.

v2:
Fixed opmode constant (IEEE80211_ to NL80211_)

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Nick Kossifidis <mickflemm@gmail.com>
Cc: Luis R. Rodriguez <mcgrof@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54/rtl8187: fix up the seqno patch
Johannes Berg [Sat, 11 Oct 2008 22:39:55 +0000 (00:39 +0200)]
p54/rtl8187: fix up the seqno patch

Sorry about that, for some reason I didn't notice that I'd
left some unused variables in there.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: rewrite HT handling
Johannes Berg [Tue, 14 Oct 2008 14:58:37 +0000 (16:58 +0200)]
mac80211: rewrite HT handling

The HT handling has the following deficiencies, which I've
(partially) fixed:
 * it always uses the AP info even if there is no AP,
   hence has no chance of working as an AP
 * it pretends to be HW config, but really is per-BSS
 * channel sanity checking is left to the drivers
 * it generally lets the driver control too much

HT enabling is still wrong with this patch if you have more than
one virtual STA mode interface, but that never happens currently.
Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be
wrong, see the comment in ieee80211_enable_ht().

Additionally, this fixes a number of bugs:
 * mac80211: ieee80211_set_disassoc doesn't notify the driver any
             more since the refactoring
 * iwl-agn-rs: always uses the HT capabilities from the wrong stuff
               mac80211 gives it rather than the actual peer STA
 * ath9k: a number of bugs resulting from the broken HT API

I'm not entirely happy with putting the HT capabilities into
struct ieee80211_sta as restricted to our own HT TX capabilities,
but I see no cleaner solution for now.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: move bss_conf into vif
Johannes Berg [Fri, 10 Oct 2008 23:51:51 +0000 (01:51 +0200)]
mac80211: move bss_conf into vif

Move bss_conf into the vif struct so that drivers can
access it during ->tx without having to store it in
the private data or similar. No driver updates because
this is only for when they want to start using it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: make retry limits part of hw config
Johannes Berg [Tue, 14 Oct 2008 17:17:54 +0000 (19:17 +0200)]
mac80211: make retry limits part of hw config

Instead of having a separate callback, use the HW config callback
with a new flag to change retry limits.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwl3945: fix station stuff in RC algorithm
Johannes Berg [Fri, 10 Oct 2008 23:46:25 +0000 (01:46 +0200)]
iwl3945: fix station stuff in RC algorithm

Probably bugs I added.

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>
17 years agonl80211: export HT capabilities
Johannes Berg [Thu, 9 Oct 2008 10:20:13 +0000 (12:20 +0200)]
nl80211: export HT capabilities

This exports the local HT capabilities in nl80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: provide sequence numbers
Johannes Berg [Fri, 10 Oct 2008 11:21:59 +0000 (13:21 +0200)]
mac80211: provide sequence numbers

I've come to think that not providing sequence numbers for
the normal STA mode case was a mistake, at least two drivers
now had to implement code they wouldn't otherwise need, and
I believe at76_usb and adm8211 might be broken.

This patch makes mac80211 assign a sequence number to all
those frames that need one except beacons. That means that
if a driver only implements modes that do not do beaconing
it need not worry about the sequence number.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: Move rx_mtu to struct bootrec_desc
Larry Finger [Fri, 10 Oct 2008 00:38:52 +0000 (17:38 -0700)]
p54: Move rx_mtu to struct bootrec_desc

The patch entitled "[PATCH] p54: Fix sparse warnings" added the __le16
variable rx_mtu to struct bootrec, but it could equally well be placed
in the struct bootrec_desc, which overlays the 'data' section of bootrec.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agorfkill: rate-limit rfkill-input workqueue usage (v3)
Henrique de Moraes Holschuh [Thu, 9 Oct 2008 21:15:33 +0000 (18:15 -0300)]
rfkill: rate-limit rfkill-input workqueue usage (v3)

Limit the number of "expensive" rfkill workqueue operations per second, in
order to not hog system resources too much when faced with a rogue source
of rfkill input events.

The old rfkill-input code (before it was refactored) had such a limit in
place.  It used to drop new events that were past the rate limit.  This
behaviour was not implemented as an anti-DoS measure, but rather as an
attempt to work around deficiencies in input device drivers which would
issue multiple KEY_FOO events too soon for a given key FOO (i.e. ones that
do not implement mechanical debouncing properly).

However, we can't really expect such issues to be worked around by every
input handler out there, and also by every userspace client of input
devices.  It is the input device driver's responsability to do debouncing
instead of spamming the input layer with bogus events.

The new limiter code is focused only on anti-DoS behaviour, and tries to
not lose events (instead, it coalesces them when possible).

The transmitters are updated once every 200ms, maximum.  Care is taken not
to delay a request to _enter_ rfkill transmitter Emergency Power Off (EPO)
mode.

If mistriggered (e.g. by a jiffies counter wrap), the code delays processing
*once* by 200ms.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agorfkill: honour EPO state when resuming a rfkill controller
Henrique de Moraes Holschuh [Thu, 9 Oct 2008 21:15:32 +0000 (18:15 -0300)]
rfkill: honour EPO state when resuming a rfkill controller

rfkill_resume() would always restore the rfkill controller state to its
pre-suspend state.

Now that we know when we are under EPO, kick the rfkill controller to
SOFT_BLOCKED state instead of to its pre-suspend state when it is resumed
while EPO mode is active.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agorfkill: add master_switch_mode and EPO lock to rfkill and rfkill-input
Henrique de Moraes Holschuh [Fri, 10 Oct 2008 00:49:33 +0000 (21:49 -0300)]
rfkill: add master_switch_mode and EPO lock to rfkill and rfkill-input

Add of software-based sanity to rfkill and rfkill-input so that it can
reproduce what hardware-based EPO switches do, blocking all transmitters
and locking down any further attempts to unblock them until the switch is
deactivated.

rfkill-input is responsible for issuing the EPO control requests, like
before.

While an rfkill EPO is active, all transmitters are locked to one of the
BLOCKED states and all attempts to change that through the rfkill API
(userspace and kernel) will be either ignored or return -EPERM errors.

The lock will be released upon receipt of EV_SW SW_RFKILL_ALL ON by
rfkill-input, or should modular rfkill-input be unloaded.

This makes rfkill and rfkill-input extend the operation of an existing
wireless master kill switch to all wireless devices in the system, even
those that are not under hardware or firmware control.

Since the above is the expected operational behavior for the master rfkill
switch, the EPO lock functionality is not optional.

Also, extend rfkill-input to allow for three different behaviors when it
receives an EV_SW SW_RFKILL_ALL ON input event.  The user can set which
behavior he wants through the master_switch_mode parameter:

master_switch_mode = 0: EV_SW SW_RFKILL_ALL ON just unlocks rfkill
controller state changes (so that the rfkill userspace and kernel APIs can
now be used to change rfkill controller states again), but doesn't change
any of their states (so they will all remain blocked).  This is the safest
mode of operation, as it requires explicit operator action to re-enable a
transmitter.

master_switch_mode = 1: EV_SW SW_RFKILL_ALL ON causes rfkill-input to
attempt to restore the system to the state before the last EV_SW
SW_RFKILL_ALL OFF event, or to the default global states if no EV_SW
SW_RFKILL_ALL OFF ever happened.   This is the recommended mode of
operation for laptops.

master_switch_mode = 2: tries to unblock all rfkill controllers (i.e.
enable all transmitters) when an EV_SW SW_RFKILL_ALL ON event is received.
This is the default mode of operation, as it mimics the previous behavior
of rfkill-input.

In order to implement these features in a clean way, the entire event
handling of rfkill-input was refactored into a single worker function.

Protection against input event DoS (repeatedly firing rfkill events for
rfkill-input to process) was removed during the code refactoring.  It will
be added back in a future patch.

Note that with these changes, rfkill-input doesn't need to explicitly
handle any radio types for which KEY_<radio type> or SW_<radio type> events
do not exist yet.

Code to handle EV_SW SW_{WLAN,WWAN,BLUETOOTH,WIMAX,...} was added as it
might be needed in the future (and its implementation is not that obvious),
but is currently #ifdef'd out to avoid wasting resources.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agorfkill: export global states to rfkill-input
Henrique de Moraes Holschuh [Thu, 9 Oct 2008 21:15:30 +0000 (18:15 -0300)]
rfkill: export global states to rfkill-input

Export the the global switch states to rfkill-input.  This is needed to
properly implement KEY_* handling without disregarding the initial state.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agorfkill: use killable locks instead of interruptible
Henrique de Moraes Holschuh [Thu, 9 Oct 2008 21:15:29 +0000 (18:15 -0300)]
rfkill: use killable locks instead of interruptible

Apparently, many applications don't expect to get EAGAIN from fd read/write
operations, since POSIX doesn't mandate it.

Use mutex_lock_killable instead of mutex_lock_interruptible, which won't
cause issues.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: introduce hw config change flags
Johannes Berg [Thu, 9 Oct 2008 10:18:51 +0000 (12:18 +0200)]
mac80211: introduce hw config change flags

This makes mac80211 notify the driver which configuration
actually changed, e.g. channel etc.

No driver changes, this is just plumbing, driver authors are
expected to act on this if they want to.

Also remove the HW CONFIG debug printk, it's incorrect, often
we configure something else.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: kill hw.conf.antenna_sel_{rx,tx}
Johannes Berg [Thu, 9 Oct 2008 10:18:04 +0000 (12:18 +0200)]
mac80211: kill hw.conf.antenna_sel_{rx,tx}

Never actually used.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago802.11: clean up/fix HT support
Johannes Berg [Thu, 9 Oct 2008 10:13:49 +0000 (12:13 +0200)]
802.11: clean up/fix HT support

This patch cleans up a number of things:
 * the unusable definition of the HT capabilities/HT information
   information elements
 * variable names that are hard to understand
 * mac80211: move ieee80211_handle_ht to ht.c and remove the unused
             enable_ht parameter
 * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht
 * mac80211: fix bug with casting the result of ieee80211_bss_get_ie
             to an information element _contents_ rather than the
             whole element, add size checking (another out-of-bounds
             access bug fixed!)
 * mac80211: remove some unused return values in favour of BUG_ON
             checking
 * a few minor other things

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: honour bss_info_changed's short slot time settings
Christian Lamparter [Wed, 8 Oct 2008 18:52:22 +0000 (20:52 +0200)]
p54: honour bss_info_changed's short slot time settings

This patch was made on behalf of Johannes request.
"mac80211 and IEEE80211_CONF_SHORT_SLOT_TIME"

Of course, bss_info_changed provides some more useful data.
e.g.: basic_rates, dtim_period, beacon_int and maybe even more.
Everything can be hooked up if it's necessary.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic().
Rami Rosen [Wed, 8 Oct 2008 09:18:27 +0000 (11:18 +0200)]
mac80211: use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic().

This patch fixes a typo in mac80211_hwsim.c:
use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic()
instead of HWSIM_VIF_MAGIC.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: refactor rxon time command
Tomas Winkler [Wed, 8 Oct 2008 01:37:30 +0000 (09:37 +0800)]
iwlwifi: refactor rxon time command

This patch refactors rxon time command. It removes the usage of union tsf
in favor of u64 value and hopefully makes code more readable.  There are
no functional changes in this patch.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: take a valid antenna upon rate scale init
Tomas Winkler [Wed, 8 Oct 2008 01:37:29 +0000 (09:37 +0800)]
iwlwifi: take a valid antenna upon rate scale init

This patch selects a valid antennae upon rate scale init. This solves a
SYSASSERT complaining that the driver is setting a non valid antenna in
the LQ CMD.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: make initial calibration set configurable
Tomas Winkler [Wed, 8 Oct 2008 01:37:27 +0000 (09:37 +0800)]
iwlwifi: make initial calibration set configurable

This patch adds ability to configure initial calibration set. Not all HW
supported by iwlwifi use the same calibration set, XTAL is one example.
Some clean ups are also included in this patch.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: remove unused declaration of struct sta_attribute.
Rami Rosen [Tue, 7 Oct 2008 14:29:11 +0000 (16:29 +0200)]
mac80211: remove unused declaration of struct sta_attribute.

This patch removes unused definition of struct sta_attribute
in net/mac80211/ieee80211_i.h.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: fix short slot handling
Johannes Berg [Wed, 8 Oct 2008 08:59:33 +0000 (10:59 +0200)]
mac80211: fix short slot handling

This patch makes mac80211 handle short slot requests from the AP
properly. Also warn about uses of IEEE80211_CONF_SHORT_SLOT_TIME
and optimise out the code since it cannot ever be hit anyway.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoMerge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux
Linus Torvalds [Fri, 31 Oct 2008 22:44:08 +0000 (15:44 -0700)]
Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux

* 'for-2.6.28' of git://linux-nfs.org/~bfields/linux:
  NLM: Set address family before calling nlm_host_rebooted()
  nfsd: fix failure to set eof in readdir in some situations

17 years agoSELinux: properly handle empty tty_files list
Eric Paris [Fri, 31 Oct 2008 21:40:00 +0000 (17:40 -0400)]
SELinux: properly handle empty tty_files list

SELinux has wrongly (since 2004) had an incorrect test for an empty
tty->tty_files list.  With an empty list selinux would be pointing to part
of the tty struct itself and would then proceed to dereference that value
and again dereference that result.  An F10 change to plymouth on a ppc64
system is actually currently triggering this bug.  This patch uses
list_empty() to handle empty lists rather than looking at a meaningless
location.

[note, this fixes the oops reported in
https://bugzilla.redhat.com/show_bug.cgi?id=469079]

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years ago[CRIS] Remove links from CRIS build
Jesper Nilsson [Wed, 22 Oct 2008 21:57:53 +0000 (23:57 +0200)]
[CRIS] Remove links from CRIS build

Remove the links to architecture and machine dependent directories
(boot, lib, drivers, arch, mach)

The links were created and used mostly from the arch/cris/Makefile,
so why not dispense with them altogether?
Changed $(ARCH) to "cris" in Makefile, it is easier to read this way.

The CRISv32 head.S common files for the kernel and compressed images
needed to be modified to use ifdefs instead of using the now removed
mach link. Since there are only two versions, this is not a huge loss
in readability.

The link to vmlinux.lds.S is also replaced with a merged version
which uses ifdefs to select the correct layout.
System.map before and after are identical.

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
17 years ago[CRIS] Merge asm-offsets.c for both arches into one file.
Jesper Nilsson [Tue, 21 Oct 2008 20:10:27 +0000 (22:10 +0200)]
[CRIS] Merge asm-offsets.c for both arches into one file.

Eliminates the link to arch specific asm-offsets.c from CRIS
architecture build system.

Resulting asm-offsets.s are identical before and after change
for both arch-v10 and arch-v32.

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
17 years agoManually merge patch 4b1135a277f4b38f60b9c9f28adae467feb07856
Tony Lindgren [Fri, 31 Oct 2008 22:12:35 +0000 (15:12 -0700)]
Manually merge patch 4b1135a277f4b38f60b9c9f28adae467feb07856

Looks like automerge hosed it somehow.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agomac80211: remove max_antenna_gain config
Johannes Berg [Tue, 7 Oct 2008 10:04:35 +0000 (12:04 +0200)]
mac80211: remove max_antenna_gain config

The antenna gain isn't exactly configurable, despite the belief of
some unnamed individual who thinks that the EEPROM might influence
it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: clean up ieee80211_hw_config errors
Johannes Berg [Tue, 7 Oct 2008 10:04:34 +0000 (12:04 +0200)]
mac80211: clean up ieee80211_hw_config errors

Warn when ieee80211_hw_config returns an error, it shouldn't
happen; remove a number of printks that would happen in such
a case and one printk that is user-triggerable.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: remove wiphy_to_hw
Johannes Berg [Tue, 7 Oct 2008 10:04:33 +0000 (12:04 +0200)]
mac80211: remove wiphy_to_hw

This isn't used by anyone, if we ever need it we can add
it back, until then it's useless.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: minor code cleanups
Johannes Berg [Tue, 7 Oct 2008 10:04:32 +0000 (12:04 +0200)]
mac80211: minor code cleanups

Nothing very interesting, some checkpatch inspired stuff,
some other things.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: remove writable debugs mesh parameters
Johannes Berg [Tue, 7 Oct 2008 10:04:31 +0000 (12:04 +0200)]
mac80211: remove writable debugs mesh parameters

These parameters shouldn't be configurable via debugfs, if they
need to be configurable nl80211 support has to be added, if not
then they don't need to be writable here either.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Javier Cardona <javier@cozybit.com>
Cc: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: remove aggregation status write support from debugfs
Johannes Berg [Tue, 7 Oct 2008 10:04:30 +0000 (12:04 +0200)]
mac80211: remove aggregation status write support from debugfs

This code uses static variables and thus cannot be kept.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agox86: add a synthetic TSC_RELIABLE feature bit
Alok Kataria [Fri, 31 Oct 2008 18:59:53 +0000 (11:59 -0700)]
x86: add a synthetic TSC_RELIABLE feature bit

Impact: None, bit reservation only

Add a synthetic TSC_RELIABLE feature bit which will be used to mark
TSC as reliable so that we could skip all the runtime checks for
TSC stablity, which have false positives in virtual environment.

Signed-off-by: Alok N Kataria <akataria@vmware.com>
Signed-off-by: Dan Hecht <dhecht@vmware.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
17 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Fri, 31 Oct 2008 21:27:36 +0000 (14:27 -0700)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

17 years agoBtrfs: rev the disk format for fallocate
Chris Mason [Fri, 31 Oct 2008 16:54:14 +0000 (12:54 -0400)]
Btrfs: rev the disk format for fallocate

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoALSA: hda - Re-add input-source control for Realtek
Takashi Iwai [Fri, 31 Oct 2008 16:48:56 +0000 (17:48 +0100)]
ALSA: hda - Re-add input-source control for Realtek

Re-added again "Input Source" control that was removed mistakenly
in the previous patchset.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoBtrfs: Compression corner fixes
Chris Mason [Fri, 31 Oct 2008 16:46:39 +0000 (12:46 -0400)]
Btrfs: Compression corner fixes

Make sure we keep page->mapping NULL on the pages we're getting
via alloc_page.  It gets set so a few of the callbacks can do the right
thing, but in general these pages don't have a mapping.

Don't try to truncate compressed inline items in btrfs_drop_extents.
The whole compressed item must be preserved.

Don't try to create multipage inline compressed items.  When we try to
overwrite just the first page of the file, we would have to read in and recow
all the pages after it in the same compressed inline items.  For now, only
create single page inline items.

Make sure we lock pages in the correct order during delalloc.  The
search into the state tree for delalloc bytes can return bytes before
the page we already have locked.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoALSA: hda - Unify capture mixer creation in realtek codes
Takashi Iwai [Fri, 31 Oct 2008 15:37:07 +0000 (16:37 +0100)]
ALSA: hda - Unify capture mixer creation in realtek codes

Unified the capture mixer creation in patch_realtek.c.

ALC268 is still an exception since it has no AMP in ADC but in
MUX widget.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Unify capture callbacks in realtek codes
Takashi Iwai [Fri, 31 Oct 2008 14:24:04 +0000 (15:24 +0100)]
ALSA: hda - Unify capture callbacks in realtek codes

Unify the capture callbacks in patch_realtek.c.
The difference of matrix or mux style is checked via spec->is_mix_capture
flag.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Use macros to check array overflow
Takashi Iwai [Fri, 31 Oct 2008 14:01:37 +0000 (15:01 +0100)]
ALSA: hda - Use macros to check array overflow

Use macro to add mixer and verb elements to check the possible
array overflow.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'topic/fix/hda' into topic/hda
Takashi Iwai [Fri, 31 Oct 2008 16:24:01 +0000 (17:24 +0100)]
Merge branch 'topic/fix/hda' into topic/hda

17 years agoALSA: hda - Add digital-mic for ALC269 auto-probe mode
Takashi Iwai [Fri, 31 Oct 2008 16:16:31 +0000 (17:16 +0100)]
ALSA: hda - Add digital-mic for ALC269 auto-probe mode

The digital mic wasn't detected properly for ALC269 auto-probing mode
because of its widget number.  Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Disable broken mic auto-muting in Realtek codes
Takashi Iwai [Fri, 31 Oct 2008 13:18:24 +0000 (14:18 +0100)]
ALSA: hda - Disable broken mic auto-muting in Realtek codes

The recent addition of automatic mic-muting is broken in some cases.
The code assumes that the pin nids <= 0x18, but the digital pins can
be less than 0x18.
Also, it assumes the front-mic being the internal mic, but it depends
on the hardware implementation actually.

Instead of complex case-fixes, better to disable the code as now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge commit 'v2.6.28-rc2' into topic/asoc
Takashi Iwai [Fri, 31 Oct 2008 16:13:10 +0000 (17:13 +0100)]
Merge commit 'v2.6.28-rc2' into topic/asoc

17 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Fri, 31 Oct 2008 15:14:15 +0000 (08:14 -0700)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (23 commits)
  Revert "powerpc: Sync RPA note in zImage with kernel's RPA note"
  powerpc: Fix compile errors with CONFIG_BUG=n
  powerpc: Fix format string warning in arch/powerpc/boot/main.c
  powerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()
  powerpc: Remove duplicate DMA entry from mpc8313erdb device tree
  powerpc/cell/OProfile: Fix on-stack array size in activate spu profiling function
  powerpc/mpic: Fix regression caused by change of default IRQ affinity
  powerpc: Update remaining dma_mapping_ops to use map/unmap_page
  powerpc/pci: Fix unmapping of IO space on 64-bit
  powerpc/pci: Properly allocate bus resources for hotplug PHBs
  OF-device: Don't overwrite numa_node in device registration
  powerpc: Fix swapcontext system for VSX + old ucontext size
  powerpc: Fix compiler warning for the relocatable kernel
  powerpc: Work around ld bug in older binutils
  powerpc/ppc64/kdump: Better flag for running relocatable
  powerpc: Use is_kdump_kernel()
  powerpc: Kexec exit should not use magic numbers
  powerpc/44x: Update 44x defconfigs
  powerpc/40x: Update 40x defconfigs
  powerpc: enable heap randomization for linkstations
  ...

17 years agowusb: remove unused #include <version.h>
Huang Weiyi [Fri, 31 Oct 2008 14:49:58 +0000 (22:49 +0800)]
wusb: remove unused #include <version.h>

The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
  drivers/usb/host/hwa-hc.c
  drivers/usb/host/whci/hcd.c
  drivers/usb/host/whci/int.c
  drivers/usb/host/whci/wusb.c
  drivers/usb/wusbcore/cbaf.c

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

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David Vrabel <david.vrabel@csr.com>
17 years agoCell OProfile: Incorrect local array size in activate spu profiling function
Carl Love [Wed, 29 Oct 2008 15:06:45 +0000 (08:06 -0700)]
Cell OProfile: Incorrect local array size in activate spu profiling function

Updated the patch to address comments by Michael Ellerman.
Specifically, changed upper limit in for loop to
ARRAY_SIZE() macro and added a check to make sure the
number of events specified by the user, which is used as
the max for indexing various arrays, is no bigger then the
declared size of the arrays.

The size of the pm_signal_local array should be equal to the
number of SPUs being configured in the array.  Currently, the
array is of size 4 (NR_PHYS_CTRS) but being indexed by a for
loop from 0 to 7 (NUM_SPUS_PER_NODE).

Signed-off-by: Carl Love <carll@us.ibm.com>
17 years agoRevert "Cell OProfile: Incorrect local array size in activate spu profiling function"
Robert Richter [Fri, 31 Oct 2008 15:09:47 +0000 (16:09 +0100)]
Revert "Cell OProfile: Incorrect local array size in activate spu profiling function"

This reverts commit fa448d6008cc81a3537e5db168fa0490e0caba68.

17 years agouwb: struct device - replace bus_id with dev_name(), dev_set_name()
Kay Sievers [Thu, 30 Oct 2008 19:06:16 +0000 (20:06 +0100)]
uwb: struct device - replace bus_id with dev_name(), dev_set_name()

Cc: David Vrabel <david.vrabel@csr.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Vrabel <david.vrabel@csr.com>
17 years agouwb: remove unused #include <version.h>
Huang Weiyi [Fri, 31 Oct 2008 14:49:54 +0000 (22:49 +0800)]
uwb: remove unused #include <version.h>

The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
  drivers/uwb/drp-ie.c
  drivers/uwb/hwa-rc.c
  drivers/uwb/i1480/dfu/usb.c
  drivers/uwb/i1480/i1480u-wlp/lc.c
  drivers/uwb/i1480/i1480u-wlp/sysfs.c
  drivers/uwb/rsv.c
  drivers/uwb/whc-rc.c

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

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David Vrabel <david.vrabel@csr.com>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Fri, 31 Oct 2008 14:53:17 +0000 (07:53 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (21 commits)
  sh: fix sh2a cache entry_mask
  sh: Enable NFS root in Migo-R defconfig.
  sh: FTRACE renamed to FUNCTION_TRACER.
  sh: Fix up the shared IRQ demuxer's control bit testing logic.
  Define SCSPTR1 for SH 7751R
  sh: Add sci_rxd_in of SH4-202
  Add support usb setting on sh 7366
  sh: Change register name SCSPTR to SCSPTR2
  sh: use the new byteorder headers.
  sh: SHmedia ISA tuning fixups.
  sh: Kill off long-dead HD64465 cchip support.
  sh: Revert "SH 7366 needs SCIF_ONLY"
  sh: Simplify and lock down the ISA tuning.
  sh: sh7785lcr: Select uImage as default image target.
  sh: Add on-chip RTC support for SH7722.
  SH 7366 needs SCIF_ONLY
  gdrom: Fix compile error
  sh: Provide a sample defconfig for the UL2 (SH7366) board.
  sh: Fix FPU tuning on toolchains with mismatched multilib targets.
  sh: oprofile: Fix up the SH7750 performance counter name.
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 31 Oct 2008 14:52:51 +0000 (07:52 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Add missing null terminating entry to bq4802_match[].
  sparc: use the new byteorder headers
  rtc-m48t59: shift zero year to 1968 on sparc (rev 2)
  dbri: check dma_alloc_coherent errors
  sparc64: remove byteshifting from out* helpers

17 years ago[JFFS2] Fix lack of locking in thread_should_wake()
David Woodhouse [Fri, 31 Oct 2008 14:52:24 +0000 (14:52 +0000)]
[JFFS2] Fix lack of locking in thread_should_wake()

The thread_should_wake() function trawls through the list of 'very
dirty' eraseblocks, determining whether the background GC thread should
wake. Doing this without holding the appropriate locks is a bad idea.

OLPC Trac #8615

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Cc: stable@kernel.org
17 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Fri, 31 Oct 2008 14:52:12 +0000 (07:52 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  delay capable() check in ext4_has_free_blocks()
  merge ext4_claim_free_blocks & ext4_has_free_blocks
  jbd2: Call the commit callback before the transaction could get dropped
  ext4: fix a bug accessing freed memory in ext4_abort
  ext3: fix a bug accessing freed memory in ext3_abort

17 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Fri, 31 Oct 2008 14:47:57 +0000 (07:47 -0700)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: add whitelist for devices with known good pata-sata bridges
  sata_via: fix support for 5287
  libata: Avoid overflow in ata_tf_to_lba48() when tf->hba_lbal > 127
  ATA: remove excess kernel-doc notation

17 years agoMerge branch 'topic/fix/asoc' into topic/asoc
Takashi Iwai [Fri, 31 Oct 2008 13:39:49 +0000 (14:39 +0100)]
Merge branch 'topic/fix/asoc' into topic/asoc

17 years agoASoC: Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731).
Sedji Gaouaou [Fri, 3 Oct 2008 14:58:58 +0000 (16:58 +0200)]
ASoC: Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731).

Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731).
It is based on the former eti_b1_wm8731.c file, using the atmel scc API.

Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Merge AT91 and AVR32 support into a single atmel architecture
Sedji Gaouaou [Fri, 3 Oct 2008 14:57:50 +0000 (16:57 +0200)]
ASoC: Merge AT91 and AVR32 support into a single atmel architecture

The Ateml AT91 and AVR32 SoC share common IP for audio and can share the
same driver code using the atmel-ssc API provided for both architectures.
Do this, creating a new unified atmel ASoC architecture to replace the
previous at32 and at91 ones.

[This was contributed as a patch series for reviewability but has been
squashed down to a single commit to help preserve both the history and
bisectability.  A small bugfix from Jukka is included.]

Tested-by: Jukka Hynninen <ext-jukka.hynninen@vaisala.com>
Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Add support for Beagleboard
Steve Sakoman [Fri, 31 Oct 2008 04:55:24 +0000 (21:55 -0700)]
ASoC: Add support for Beagleboard

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Add support for Gumstix Overo
Steve Sakoman [Fri, 31 Oct 2008 04:50:13 +0000 (21:50 -0700)]
ASoC: Add support for Gumstix Overo

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Add support for TWL4030 audio codec
Steve Sakoman [Fri, 31 Oct 2008 04:35:26 +0000 (21:35 -0700)]
ASoC: Add support for TWL4030 audio codec

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoRevert "powerpc: Sync RPA note in zImage with kernel's RPA note"
Paul Mackerras [Fri, 31 Oct 2008 11:27:17 +0000 (22:27 +1100)]
Revert "powerpc: Sync RPA note in zImage with kernel's RPA note"

This reverts commit 91a00302959545a9ae423e99732b1e46eb19e877, plus
commit 0dcd440120ef12879ff34fc78d7e4abf171c79e4 ("powerpc: Revert CHRP
boot wrapper to real-base = 12MB on 32-bit") which depended on it.

Commit 91a00302 was causing NVRAM corruption on some pSeries machines,
for as-yet unknown reasons, so this reverts it until the cause is
identified.

Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMerge branch 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc...
Paul Mackerras [Fri, 31 Oct 2008 10:34:56 +0000 (21:34 +1100)]
Merge branch 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge

17 years agopowerpc: Fix compile errors with CONFIG_BUG=n
Paul Mackerras [Fri, 31 Oct 2008 10:34:09 +0000 (21:34 +1100)]
powerpc: Fix compile errors with CONFIG_BUG=n

This makes sure we don't try to call find_bug or is_warning_bug when
CONFIG_BUG=n and CONFIG_XMON=y.  Otherwise we get these errors:

arch/powerpc/xmon/xmon.c: In function ‘print_bug_trap’:
arch/powerpc/xmon/xmon.c:1364: error: implicit declaration of function ‘find_bug’
arch/powerpc/xmon/xmon.c:1364: warning: assignment makes pointer from integer without a cast
arch/powerpc/xmon/xmon.c:1367: error: implicit declaration of function ‘is_warning_bug’
arch/powerpc/xmon/xmon.c:1374: error: dereferencing pointer to incomplete type
make[2]: *** [arch/powerpc/xmon/xmon.o] Error 1
make[1]: *** [arch/powerpc/xmon] Error 2
make: *** [sub-make] Error 2

Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agox86: avoid duplicate running of pud_offset and pmd_offset in one_md_table_init()
Zhaolei [Fri, 31 Oct 2008 09:43:04 +0000 (17:43 +0800)]
x86: avoid duplicate running of pud_offset and pmd_offset in one_md_table_init()

Impact: simplify implementation, cleanup

If !(pgd_val(*pgd) & _PAGE_PRESENT) in PAE mode, we need not get value of
pmd_table again.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: fix AMDC1E and XTOPOLOGY conflict in cpufeature
Venki Pallipadi [Tue, 7 Oct 2008 20:33:12 +0000 (13:33 -0700)]
x86: fix AMDC1E and XTOPOLOGY conflict in cpufeature

Impact: fix xsave slowdown regression

Fix two features from conflicting in feature bits.

Fixes this performance regression:

   Subject: cpu2000(both float and int) 13% regression with 2.6.28-rc1
   http://lkml.org/lkml/2008/10/28/36

Reported-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Bisected-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace: nmi safe code clean ups
Steven Rostedt [Fri, 31 Oct 2008 04:03:22 +0000 (00:03 -0400)]
ftrace: nmi safe code clean ups

Impact: cleanup

This patch cleans up the NMI safe code for dynamic ftrace as suggested
by Andrew Morton.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopowerpc: Fix format string warning in arch/powerpc/boot/main.c
Jon Smirl [Thu, 30 Oct 2008 16:51:32 +0000 (16:51 +0000)]
powerpc: Fix format string warning in arch/powerpc/boot/main.c

Fix format string warning in arch/powerpc/boot/main.c.  Also correct
a typo ("uncomressed") on the same line.

 BOOTCC  arch/powerpc/boot/main.o
arch/powerpc/boot/main.c: In function 'prep_kernel':
arch/powerpc/boot/main.c:65: warning: format '%08x' expects type
'unsigned int', but argument 3 has type 'long unsigned int'

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()
David Gibson [Thu, 30 Oct 2008 16:37:05 +0000 (16:37 +0000)]
powerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()

There's currently an off-by-one bug in fdt_subnode_offset_namelen()
which causes it to keep searching after it's finished the subnodes of
the given parent, and into the subnodes of siblings of the original
node which come after it in the tree.  This bug was introduced in
commit ed95d7450dcbfeb45ffc9d39b1747aee82b49a51 ("powerpc: Update
in-kernel dtc and libfdt to version 1.2.0").

A patch has already been submitted to dtc/libfdt mainline.  We don't
really want to pull in a new upstream version during the 2.6.28 cycle,
but we should still fix this bug, hence this standalone version of the
fix for the in-kernel libfdt.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoi915: use io-mapping interfaces instead of a variety of mapping kludges
Keith Packard [Fri, 31 Oct 2008 02:38:48 +0000 (19:38 -0700)]
i915: use io-mapping interfaces instead of a variety of mapping kludges

Impact: optimize/clean-up the IO mapping implementation of the i915 DRM driver

Switch the i915 device aperture mapping to the io-mapping interface, taking
advantage of the cleaner API to extend it across all of the mapping uses,
including both pwrite and relocation updates.

This dramatically improves performance on 64-bit kernels which were using
the same slow path as 32-bit non-HIGHMEM kernels prior to this patch.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoresources: add io-mapping functions to dynamically map large device apertures
Keith Packard [Fri, 31 Oct 2008 02:38:18 +0000 (19:38 -0700)]
resources: add io-mapping functions to dynamically map large device apertures

Impact: add new generic io_map_*() APIs

Graphics devices have large PCI apertures which would consume a significant
fraction of a 32-bit address space if mapped during driver initialization.
Using ioremap at runtime is impractical as it is too slow.

This new set of interfaces uses atomic mappings on 32-bit processors and a
large static mapping on 64-bit processors to provide reasonable 32-bit
performance and optimal 64-bit performance.

The current implementation sits atop the io_map_atomic fixmap-based
mechanism for 32-bit processors.

This includes some editorial suggestions from Randy Dunlap for
Documentation/io-mapping.txt

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: add iomap_atomic*()/iounmap_atomic() on 32-bit using fixmaps
Keith Packard [Fri, 31 Oct 2008 02:37:09 +0000 (19:37 -0700)]
x86: add iomap_atomic*()/iounmap_atomic() on 32-bit using fixmaps

Impact: introduce new APIs, separate kmap code from CONFIG_HIGHMEM

This takes the code used for CONFIG_HIGHMEM memory mappings except that
it's designed for dynamic IO resource mapping.

These fixmaps are available even with CONFIG_HIGHMEM turned off.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agokexec/i386: setup kexec page table in C
Huang Ying [Fri, 31 Oct 2008 01:48:15 +0000 (09:48 +0800)]
kexec/i386: setup kexec page table in C

Impact: change the kexec bootstrap code implementation from assembly to C

This patch transforms the kexec page tables setup code from assembler
code to C code in machine_kexec_prepare. This improves readability and
reduces code line number.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agokexec/i386: allocate page table pages dynamically
Huang Ying [Fri, 31 Oct 2008 01:48:08 +0000 (09:48 +0800)]
kexec/i386: allocate page table pages dynamically

Impact: save .text size when kexec is built in but not loaded

This patch adds an architecture specific struct kimage_arch into
struct kimage. The pointers to page table pages used by kexec are
added to struct kimage_arch. The page tables pages are dynamically
allocated in machine_kexec_prepare instead of statically from BSS
segment. This will save up to 20k memory when kexec image is not
loaded.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agokexec/i386: remove PAGE_SIZE alignment from relocate_kernel
Huang Ying [Fri, 31 Oct 2008 01:48:02 +0000 (09:48 +0800)]
kexec/i386: remove PAGE_SIZE alignment from relocate_kernel

Impact: save kernel .text by loosening kexec page alignment

This patch removes PAGE_SIZE alignment from relocate_kernel(). Before
kexec jump patches are merged, control page is mapped to
relocate_kernel in kexec page tables, so relocate_kernel must be
PAGE_SIZE aligned. Now, control page is mapped to identity mapped
address, so relocate_kernel need not to be PAGE_SIZE aligned any
more. This can reduce a few KB from kernel text segement.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: build fix
Ingo Molnar [Fri, 31 Oct 2008 08:31:38 +0000 (09:31 +0100)]
x86: build fix

Impact: build fix on certain UP configs

fix:

 arch/x86/kernel/cpu/common.c: In function 'cpu_init':
 arch/x86/kernel/cpu/common.c:1141: error: 'boot_cpu_id' undeclared (first use in this function)
 arch/x86/kernel/cpu/common.c:1141: error: (Each undeclared identifier is reported only once
 arch/x86/kernel/cpu/common.c:1141: error: for each function it appears in.)

Pull in asm/smp.h on UP, so that we get the definition of
boot_cpu_id.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agomisc: replace NIPQUAD()
Harvey Harrison [Fri, 31 Oct 2008 07:56:49 +0000 (00:56 -0700)]
misc: replace NIPQUAD()

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agofs: replace NIPQUAD()
Harvey Harrison [Fri, 31 Oct 2008 07:56:28 +0000 (00:56 -0700)]
fs: replace NIPQUAD()

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodrivers: replace NIPQUAD()
Harvey Harrison [Fri, 31 Oct 2008 07:56:00 +0000 (00:56 -0700)]
drivers: replace NIPQUAD()

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: replace NIPQUAD() in net/*/
Harvey Harrison [Fri, 31 Oct 2008 07:54:56 +0000 (00:54 -0700)]
net: replace NIPQUAD() in net/*/

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: replace NIPQUAD() in net/netfilter/
Harvey Harrison [Fri, 31 Oct 2008 07:54:29 +0000 (00:54 -0700)]
net: replace NIPQUAD() in net/netfilter/

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: replace NIPQUAD() in net/ipv4/ net/ipv6/
Harvey Harrison [Fri, 31 Oct 2008 07:53:57 +0000 (00:53 -0700)]
net: replace NIPQUAD() in net/ipv4/ net/ipv6/

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: replace NIPQUAD() in net/ipv4/netfilter/
Harvey Harrison [Fri, 31 Oct 2008 07:53:08 +0000 (00:53 -0700)]
net: replace NIPQUAD() in net/ipv4/netfilter/

Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u
can be replaced with %pI4

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoieee1394: dv1394: fix possible deadlock in multithreaded clients
Stefan Richter [Sun, 26 Oct 2008 11:02:03 +0000 (12:02 +0100)]
ieee1394: dv1394: fix possible deadlock in multithreaded clients

Fix a possible though highly unlikely deadlock:

Thread A:                  Thread B:
 - acquire mmap_sem         - dv1394_ioctl/read/write()
 - dv1394_mmap()            - acquire video->mtx
 - acquire video->mtx       - copy_to/from_user(), possible page fault:
                              acquire mmap_sem

The simplest fix is to use mutex_trylock() instead of mutex_lock() in
dv1394_mmap().  This changes the behavior under contention in a way
which is visible to userspace clients.  However, my guess is that no
clients exist which use mmap vs. ioctl/read/write on the dv1394
character device file interface in concurrent threads.

Reported-by: Johannes Weiner <hannes@saeurebad.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>