]> git.openfabrics.org - ~shefty/rdma-dev.git/log
~shefty/rdma-dev.git
9 years agoMerge remote-tracking branch 'asoc/topic/core' into asoc-next
Mark Brown [Sat, 15 Dec 2012 14:56:43 +0000 (23:56 +0900)]
Merge remote-tracking branch 'asoc/topic/core' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/atmel' into asoc-next
Mark Brown [Sat, 15 Dec 2012 14:56:42 +0000 (23:56 +0900)]
Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/fix/sigmadsp' into asoc-next
Mark Brown [Sat, 15 Dec 2012 14:56:41 +0000 (23:56 +0900)]
Merge remote-tracking branch 'asoc/fix/sigmadsp' into asoc-next

9 years agoASoC: atmel-ssc: change disable to disable in dts node
Bo Shen [Thu, 13 Dec 2012 02:05:07 +0000 (10:05 +0800)]
ASoC: atmel-ssc: change disable to disable in dts node

Change the value of status to disabled to keep the consistent

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: Prevent pop_wait overwrite
Misael Lopez Cruz [Thu, 13 Dec 2012 18:23:05 +0000 (12:23 -0600)]
ASoC: Prevent pop_wait overwrite

pop_wait is used to determine if a deferred playback close
needs to be cancelled when the a PCM is open or if after
the power-down delay expires it needs to run. pop_wait is
associated with the CODEC DAI, so the CODEC DAI must be
unique. This holds true for most CODECs, except for the
dummy CODEC and its DAI.

In DAI links with non-unique dummy CODECs (e.g. front-ends),
pop_wait can be overwritten by another DAI link using also a
dummy CODEC. Failure to cancel a deferred close can cause
mute due to the DAPM STOP event sent in the deferred work.

One scenario where pop_wait is overwritten and causing mute
is below (where hw:0,0 and hw:0,1 are two front-ends with
default pmdown_time = 5 secs):

aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE -d 1
sleep 1
aplay /dev/urandom -D hw:0,1 -c 2 -r 48000 -f S16_LE -d 3 &
aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE

Since CODECs may not be unique, pop_wait is moved to the PCM
runtime structure. Creating separate dummy CODECs for each
DAI link can also solve the problem, but at this point it's
only pop_wait variable in the CODEC DAI that has negative
effects by not being unique.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoLinux 3.7
Linus Torvalds [Tue, 11 Dec 2012 03:30:57 +0000 (19:30 -0800)]
Linux 3.7

9 years agoInput: matrix-keymap - provide proper module license
Florian Fainelli [Mon, 10 Dec 2012 20:25:32 +0000 (12:25 -0800)]
Input: matrix-keymap - provide proper module license

The matrix-keymap module is currently lacking a proper module license,
add one so we don't have this module tainting the entire kernel.  This
issue has been present since commit 1932811f426f ("Input: matrix-keymap
- uninline and prepare for device tree support")

Signed-off-by: Florian Fainelli <florian@openwrt.org>
CC: stable@vger.kernel.org # v3.5+
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Linus Torvalds [Tue, 11 Dec 2012 00:07:11 +0000 (16:07 -0800)]
Merge git://git./linux/kernel/git/davem/net

Pull networking fixes from David Miller:

 1) Netlink socket dumping had several missing verifications and checks.

    In particular, address comparisons in the request byte code
    interpreter could access past the end of the address in the
    inet_request_sock.

    Also, address family and address prefix lengths were not validated
    properly at all.

    This means arbitrary applications can read past the end of certain
    kernel data structures.

    Fixes from Neal Cardwell.

 2) ip_check_defrag() operates in contexts where we're in the process
    of, or about to, input the packet into the real protocols
    (specifically macvlan and AF_PACKET snooping).

    Unfortunately, it does a pskb_may_pull() which can modify the
    backing packet data which is not legal if the SKB is shared.  It
    very much can be shared in this context.

    Deal with the possibility that the SKB is segmented by using
    skb_copy_bits().

    Fix from Johannes Berg based upon a report by Eric Leblond.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  ipv4: ip_check_defrag must not modify skb before unsharing
  inet_diag: validate port comparison byte code to prevent unsafe reads
  inet_diag: avoid unsafe and nonsensical prefix matches in inet_diag_bc_run()
  inet_diag: validate byte code to prevent oops in inet_diag_bc_run()
  inet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state

9 years agoRevert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage
Linus Torvalds [Mon, 10 Dec 2012 18:51:16 +0000 (10:51 -0800)]
Revert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage

This reverts commits a50915394f1fc02c2861d3b7ce7014788aa5066e and
d7c3b937bdf45f0b844400b7bf6fd3ed50bac604.

This is a revert of a revert of a revert.  In addition, it reverts the
even older i915 change to stop using the __GFP_NO_KSWAPD flag due to the
original commits in linux-next.

It turns out that the original patch really was bogus, and that the
original revert was the correct thing to do after all.  We thought we
had fixed the problem, and then reverted the revert, but the problem
really is fundamental: waking up kswapd simply isn't the right thing to
do, and direct reclaim sometimes simply _is_ the right thing to do.

When certain allocations fail, we simply should try some direct reclaim,
and if that fails, fail the allocation.  That's the right thing to do
for THP allocations, which can easily fail, and the GPU allocations want
to do that too.

So starting kswapd is sometimes simply wrong, and removing the flag that
said "don't start kswapd" was a mistake.  Let's hope we never revisit
this mistake again - and certainly not this many times ;)

Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoipv4: ip_check_defrag must not modify skb before unsharing
Johannes Berg [Sun, 9 Dec 2012 23:41:06 +0000 (23:41 +0000)]
ipv4: ip_check_defrag must not modify skb before unsharing

ip_check_defrag() might be called from af_packet within the
RX path where shared SKBs are used, so it must not modify
the input SKB before it has unshared it for defragmentation.
Use skb_copy_bits() to get the IP header and only pull in
everything later.

The same is true for the other caller in macvlan as it is
called from dev->rx_handler which can also get a shared SKB.

Reported-by: Eric Leblond <eric@regit.org>
Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoRevert "mm: avoid waking kswapd for THP allocations when compaction is deferred or...
Linus Torvalds [Mon, 10 Dec 2012 18:47:45 +0000 (10:47 -0800)]
Revert "mm: avoid waking kswapd for THP allocations when compaction is deferred or contended"

This reverts commit 782fd30406ecb9d9b082816abe0c6008fc72a7b0.

We are going to reinstate the __GFP_NO_KSWAPD flag that has been
removed, the removal reverted, and then removed again.  Making this
commit a pointless fixup for a problem that was caused by the removal of
__GFP_NO_KSWAPD flag.

The thing is, we really don't want to wake up kswapd for THP allocations
(because they fail quite commonly under any kind of memory pressure,
including when there is tons of memory free), and these patches were
just trying to fix up the underlying bug: the original removal of
__GFP_NO_KSWAPD in commit c654345924f7 ("mm: remove __GFP_NO_KSWAPD")
was simply bogus.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoASoC: sigmadsp: Fix endianness conversion issue
Lars-Peter Clausen [Fri, 7 Dec 2012 17:30:51 +0000 (18:30 +0100)]
ASoC: sigmadsp: Fix endianness conversion issue

The 'addr' field of the sigma_action struct is stored as big endian in the
firmware file.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
9 years agoinet_diag: validate port comparison byte code to prevent unsafe reads
Neal Cardwell [Sun, 9 Dec 2012 11:09:54 +0000 (11:09 +0000)]
inet_diag: validate port comparison byte code to prevent unsafe reads

Add logic to verify that a port comparison byte code operation
actually has the second inet_diag_bc_op from which we read the port
for such operations.

Previously the code blindly referenced op[1] without first checking
whether a second inet_diag_bc_op struct could fit there. So a
malicious user could make the kernel read 4 bytes beyond the end of
the bytecode array by claiming to have a whole port comparison byte
code (2 inet_diag_bc_op structs) when in fact the bytecode was not
long enough to hold both.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoinet_diag: avoid unsafe and nonsensical prefix matches in inet_diag_bc_run()
Neal Cardwell [Sat, 8 Dec 2012 19:43:23 +0000 (19:43 +0000)]
inet_diag: avoid unsafe and nonsensical prefix matches in inet_diag_bc_run()

Add logic to check the address family of the user-supplied conditional
and the address family of the connection entry. We now do not do
prefix matching of addresses from different address families (AF_INET
vs AF_INET6), except for the previously existing support for having an
IPv4 prefix match an IPv4-mapped IPv6 address (which this commit
maintains as-is).

This change is needed for two reasons:

(1) The addresses are different lengths, so comparing a 128-bit IPv6
prefix match condition to a 32-bit IPv4 connection address can cause
us to unwittingly walk off the end of the IPv4 address and read
garbage or oops.

(2) The IPv4 and IPv6 address spaces are semantically distinct, so a
simple bit-wise comparison of the prefixes is not meaningful, and
would lead to bogus results (except for the IPv4-mapped IPv6 case,
which this commit maintains).

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoinet_diag: validate byte code to prevent oops in inet_diag_bc_run()
Neal Cardwell [Sat, 8 Dec 2012 19:43:22 +0000 (19:43 +0000)]
inet_diag: validate byte code to prevent oops in inet_diag_bc_run()

Add logic to validate INET_DIAG_BC_S_COND and INET_DIAG_BC_D_COND
operations.

Previously we did not validate the inet_diag_hostcond, address family,
address length, and prefix length. So a malicious user could make the
kernel read beyond the end of the bytecode array by claiming to have a
whole inet_diag_hostcond when the bytecode was not long enough to
contain a whole inet_diag_hostcond of the given address family. Or
they could make the kernel read up to about 27 bytes beyond the end of
a connection address by passing a prefix length that exceeded the
length of addresses of the given family.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoinet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state
Neal Cardwell [Sat, 8 Dec 2012 19:43:21 +0000 (19:43 +0000)]
inet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state

Fix inet_diag to be aware of the fact that AF_INET6 TCP connections
instantiated for IPv4 traffic and in the SYN-RECV state were actually
created with inet_reqsk_alloc(), instead of inet6_reqsk_alloc(). This
means that for such connections inet6_rsk(req) returns a pointer to a
random spot in memory up to roughly 64KB beyond the end of the
request_sock.

With this bug, for a server using AF_INET6 TCP sockets and serving
IPv4 traffic, an inet_diag user like `ss state SYN-RECV` would lead to
inet_diag_fill_req() causing an oops or the export to user space of 16
bytes of kernel memory as a garbage IPv6 address, depending on where
the garbage inet6_rsk(req) pointed.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoASoC: codecs: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:37 +0000 (09:26 -0500)]
ASoC: codecs: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: utils: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:36 +0000 (09:26 -0500)]
ASoC: utils: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: ux500: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:35 +0000 (09:26 -0500)]
ASoC: ux500: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: txx9: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:34 +0000 (09:26 -0500)]
ASoC: txx9: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: tegra: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:33 +0000 (09:26 -0500)]
ASoC: tegra: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: spear: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:32 +0000 (09:26 -0500)]
ASoC: spear: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: sh: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:31 +0000 (09:26 -0500)]
ASoC: sh: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: s6000: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:30 +0000 (09:26 -0500)]
ASoC: s6000: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: OMAP: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:29 +0000 (09:26 -0500)]
ASoC: OMAP: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: nuc900: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:28 +0000 (09:26 -0500)]
ASoC: nuc900: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: mxs: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:27 +0000 (09:26 -0500)]
ASoC: mxs: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: kirkwood: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:26 +0000 (09:26 -0500)]
ASoC: kirkwood: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: mid-x86: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:25 +0000 (09:26 -0500)]
ASoC: mid-x86: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: jz4740: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:24 +0000 (09:26 -0500)]
ASoC: jz4740: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: cirrus: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:23 +0000 (09:26 -0500)]
ASoC: cirrus: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: au1x: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:22 +0000 (09:26 -0500)]
ASoC: au1x: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: atmel: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:21 +0000 (09:26 -0500)]
ASoC: atmel: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: twl4030: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:20 +0000 (09:26 -0500)]
ASoC: twl4030: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: lm49453: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:19 +0000 (09:26 -0500)]
ASoC: lm49453: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: isabelle: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:18 +0000 (09:26 -0500)]
ASoC: isabelle: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: pxa: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:17 +0000 (09:26 -0500)]
ASoC: pxa: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: fsl: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:16 +0000 (09:26 -0500)]
ASoC: fsl: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: Samsung: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:15 +0000 (09:26 -0500)]
ASoC: Samsung: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: pxa/hx4700: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:14 +0000 (09:26 -0500)]
ASoC: pxa/hx4700: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: blackfin: remove __dev* attributes
Bill Pemberton [Fri, 7 Dec 2012 14:26:13 +0000 (09:26 -0500)]
ASoC: blackfin: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoMerge remote-tracking branch 'asoc/topic/wm9090' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:39 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm9090' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm9081' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:38 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm9081' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8995' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:38 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8995' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8994' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:37 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8993' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:36 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8993' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8988' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:36 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8988' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8985' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:35 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8978' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:34 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8978' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8971' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:33 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8971' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:32 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8960' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:32 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8955' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:31 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8955' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8804' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:31 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8770' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:30 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8770' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8753' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:29 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8750' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:28 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8750' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8741' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:28 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8741' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8510' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:27 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8510' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8400' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:26 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm8350' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:26 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm2200' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:24 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm2200' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm2000' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:23 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/wm0010' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:22 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/ux500' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:21 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:20 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/si476x' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:19 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/samsung' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:17 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/rt5631' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:17 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/rt5631' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/omap' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:16 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/omap' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/max98090' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:15 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/max9768' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:15 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/log' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:14 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/log' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/lm49453' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:13 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:12 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/jz4740' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:12 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/jz4740' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/jack' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:11 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/jack' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/hotplug' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:10 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/hotplug' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/fsl' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:09 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/fsi' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:08 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/fsi' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/dmaengine' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:08 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/dmaengine' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/davinci' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:07 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/da9055' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:06 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/da9055' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/da7210' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:05 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/da7210' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/cs4271' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:04 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/atmel' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:02 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/arizona' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:22:00 +0000 (00:22 +0900)]
Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/ak4642' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:58 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/ak4535' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:58 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4535' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/ak4104' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:56 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/adsp' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:45 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/topic/ab8500' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:42 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-next

9 years agoMerge remote-tracking branch 'asoc/fix/omap' into asoc-next
Mark Brown [Sun, 9 Dec 2012 15:21:41 +0000 (00:21 +0900)]
Merge remote-tracking branch 'asoc/fix/omap' into asoc-next

9 years agoASoC: wm5110: Enable volume ramp control
Mark Brown [Sun, 9 Dec 2012 03:50:05 +0000 (12:50 +0900)]
ASoC: wm5110: Enable volume ramp control

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: wm5102: Enable volume ramp control
Mark Brown [Sun, 9 Dec 2012 03:26:49 +0000 (12:26 +0900)]
ASoC: wm5102: Enable volume ramp control

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agoASoC: arizona: Add volume ramp controls
Mark Brown [Sun, 9 Dec 2012 03:25:52 +0000 (12:25 +0900)]
ASoC: arizona: Add volume ramp controls

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
9 years agomm: vmscan: fix inappropriate zone congestion clearing
Johannes Weiner [Thu, 6 Dec 2012 20:23:25 +0000 (15:23 -0500)]
mm: vmscan: fix inappropriate zone congestion clearing

commit c702418f8a2f ("mm: vmscan: do not keep kswapd looping forever due
to individual uncompactable zones") removed zone watermark checks from
the compaction code in kswapd but left in the zone congestion clearing,
which now happens unconditionally on higher order reclaim.

This messes up the reclaim throttling logic for zones with
dirty/writeback pages, where zones should only lose their congestion
status when their watermarks have been restored.

Remove the clearing from the zone compaction section entirely.  The
preliminary zone check and the reclaim loop in kswapd will clear it if
the zone is considered balanced.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agovfs: fix O_DIRECT read past end of block device
Linus Torvalds [Sat, 8 Dec 2012 00:48:39 +0000 (16:48 -0800)]
vfs: fix O_DIRECT read past end of block device

The direct-IO write path already had the i_size checks in mm/filemap.c,
but it turns out the read path did not, and removing the block size
checks in fs/block_dev.c (commit bbec0270bdd8: "blkdev_max_block: make
private to fs/buffer.c") removed the magic "shrink IO to past the end of
the device" code there.

Fix it by truncating the IO to the size of the block device, like the
write path already does.

NOTE! I suspect the write path would be *much* better off doing it this
way in fs/block_dev.c, rather than hidden deep in mm/filemap.c.  The
mm/filemap.c code is extremely hard to follow, and has various
conditionals on the target being a block device (ie the flag passed in
to 'generic_write_checks()', along with a conditional update of the
inode timestamp etc).

It is also quite possible that we should treat this whole block device
size as a "s_maxbytes" issue, and try to make the logic even more
generic.  However, in the meantime this is the fairly minimal targeted
fix.

Noted by Milan Broz thanks to a regression test for the cryptsetup
reencrypt tool.

Reported-and-tested-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Linus Torvalds [Sat, 8 Dec 2012 01:00:57 +0000 (17:00 -0800)]
Merge git://git./linux/kernel/git/davem/net

Pull networking fixes from David Miller:
 "Two stragglers:

   1) The new code that adds new flushing semantics to GRO can cause SKB
      pointer list corruption, manage the lists differently to avoid the
      OOPS.  Fix from Eric Dumazet.

   2) When TCP fast open does a retransmit of data in a SYN-ACK or
      similar, we update retransmit state that we shouldn't triggering a
      WARN_ON later.  Fix from Yuchung Cheng."

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  net: gro: fix possible panic in skb_gro_receive()
  tcp: bug fix Fast Open client retransmission

9 years agonet: gro: fix possible panic in skb_gro_receive()
Eric Dumazet [Thu, 6 Dec 2012 13:54:59 +0000 (13:54 +0000)]
net: gro: fix possible panic in skb_gro_receive()

commit 2e71a6f8084e (net: gro: selective flush of packets) added
a bug for skbs using frag_list. This part of the GRO stack is rarely
used, as it needs skb not using a page fragment for their skb->head.

Most drivers do use a page fragment, but some of them use GFP_KERNEL
allocations for the initial fill of their RX ring buffer.

napi_gro_flush() overwrite skb->prev that was used for these skb to
point to the last skb in frag_list.

Fix this using a separate field in struct napi_gro_cb to point to the
last fragment.

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