platform/upstream/kernel-adaptation-pc.git
11 years agoALSA: hda - bug fix for invalid connection list of Haswell HDMI codec pins
Mengdong Lin [Tue, 18 Dec 2012 21:59:15 +0000 (16:59 -0500)]
ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec pins

Haswell HDMI codec pins may report invalid connection list entries, which
will cause failure to play audio via HDMI or Display Port.

So this patch adds fixup for Haswell to workaround this hardware issue:
enable DP1.2 mode and override the pins' connection list entries with proper
value.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Xingchao Wang <xingchao.wang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup
Takashi Iwai [Mon, 17 Dec 2012 19:06:49 +0000 (20:06 +0100)]
ALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup

The workaround to force VREF50 for dallas/hp model with ALC861VD
was introduced in commit 8fdcb6fe4204bdb4c6991652717ab5063751414e,
but it contained wrong pincap override bits.

This patch fixes to exclude VREF80 pincap bit correctly.

Cc: <stable@vger.kernel.org> [v3.2+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Set codec->single_adc_amp flag for Realtek codecs
Takashi Iwai [Mon, 17 Dec 2012 19:03:15 +0000 (20:03 +0100)]
ALSA: hda - Set codec->single_adc_amp flag for Realtek codecs

It turned out that Realtek codecs (ALC260, etc) with input amps in
audio-input widgets don't handle the multiple individual input amps.
Thus we need to set codec->single_adc_amp flag for them in general.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoMerge tag 'asoc-3.8p1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Takashi Iwai [Mon, 17 Dec 2012 14:40:55 +0000 (15:40 +0100)]
Merge tag 'asoc-3.8p1' of git://git./linux/kernel/git/broonie/sound into for-next

ASoC: More updates for v3.8

Nothing terribly exciting here, just small localised changes.

As well as fixes there are a couple of Cirrus changes and one devm_
change which were in prior to the merge window but got missed from the
original pull to Takashi.

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

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

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

11 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

11 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

11 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

11 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>
11 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>
11 years agoALSA: usb-audio: ignore-quirk for HP Wireless Audio
Eldad Zack [Sat, 15 Dec 2012 04:30:33 +0000 (05:30 +0100)]
ALSA: usb-audio: ignore-quirk for HP Wireless Audio

As Joe Cooper <swelljoe@gmail.com> reported, "On most HP Envy laptops
the snd-usb-audio module causes the system to become unresponsive and
Gnome Shell 3 to crash.".
See also:
 http://mailman.alsa-project.org/pipermail/alsa-devel/2012-December/057729.html

Add a quirk to ignore this device (for now) to solve the instability
issue and allow other USB audio devices to be used.

Reported-by: Joe Cooper <swelljoe@gmail.com>
Tested-by: Isaac Smith <hunternet93@gmail.com>
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Always turn on pins for HDMI/DP
Takashi Iwai [Fri, 14 Dec 2012 09:22:35 +0000 (10:22 +0100)]
ALSA: hda - Always turn on pins for HDMI/DP

We've seen the broken HDMI *video* output on some machines with GM965,
and the debugging session pointed that the culprit is the disabled
audio output pins.  Toggling these pins dynamically on demand caused
flickering of HDMI TV.

This patch changes the behavior to keep the pin ON constantly.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=51421

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Fix pin configuration of HP Pavilion dv7
Takashi Iwai [Thu, 13 Dec 2012 13:33:42 +0000 (14:33 +0100)]
ALSA: hda - Fix pin configuration of HP Pavilion dv7

Fix the quirk entry for HP Pavilion dv7 in order to make the bass
speaker working.

Reported-and-tested-by: Tomas Pospisek <tpo2@sourcepole.ch>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Move runtime PM check to runtime_idle callback
Takashi Iwai [Wed, 12 Dec 2012 10:50:12 +0000 (11:50 +0100)]
ALSA: hda - Move runtime PM check to runtime_idle callback

The runtime_idle callback is the right place to check the suspend
capability, but currently we do it wrongly in the runtime_suspend
callback.  This leads to a kernel error message like:
   pci_pm_runtime_suspend(): azx_runtime_suspend+0x0/0x50 [snd_hda_intel] returns -11
and the runtime PM core would even repeat the attempts.

Reported-and-tested-by: Borislav Petkov <bp@alien8.de>
Cc: <stable@vger.kernel.org> [v3.7]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522
Takashi Iwai [Wed, 12 Dec 2012 11:10:01 +0000 (12:10 +0100)]
ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522

Acer Aspire One 522 has the infamous digital mic unit that needs the
phase inversion fixup for stereo.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=715737

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Avoid doubly suspend after vga switcheroo
Takashi Iwai [Tue, 4 Dec 2012 16:01:25 +0000 (17:01 +0100)]
ALSA: hda - Avoid doubly suspend after vga switcheroo

The HD-audio driver artificially calls the suspend and the resume code
path in the VGA switcheroo state changes.  When a machine goes to
suspend, it tries to suspend the device again, and it stalls at
snd_power_wait().

This patch adds checks whether the devices were already in (forced)
suspend in PM callbacks for avoiding the doubly suspend.

Reported-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: usb-audio: Enable S/PDIF on the ASUS Xonar U3
Denis Washington [Tue, 11 Dec 2012 10:38:32 +0000 (11:38 +0100)]
ALSA: usb-audio: Enable S/PDIF on the ASUS Xonar U3

The only required change is to extend the existing Xonar U1
mixer quirks to the U3, which seems to be controlled the same
way.

Signed-off-by: Denis Washington <denisw@online.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - Check validity of CORB/RIRB WP reads
Takashi Iwai [Wed, 12 Dec 2012 10:10:49 +0000 (11:10 +0100)]
ALSA: hda - Check validity of CORB/RIRB WP reads

When the HD-audio controller is disabled (e.g. via vga switcheroo) but
the driver is still accessing it, it spews floods of "spurious
response" kernel messages.  It's because CORB/RIRB WP reads 0xff, and
the driver tries to fill up until this number.

This patch changes the CORB/RIRB WP reads to word instead of byte, and
add the check of the read value.  If it's 0xffff, the controller is
supposed to be disabled, so the further action will be skipped.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hda - use usleep_range in link reset and change timeout check
Mengdong Lin [Wed, 12 Dec 2012 14:16:15 +0000 (09:16 -0500)]
ALSA: hda - use usleep_range in link reset and change timeout check

Reducing the time on HDA link reset can help to reduce the driver loading
time. So we replace msleep with usleep_range to get more accurate time
control and change the value to a smaller one. And a 100ms timeout is set
for both entering and exiting the link reset.

Signed-off-by: Xingchao Wang <xingchao.wang@intel.com>
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoLinux 3.7 upstram/3.7.0 v3.7
Linus Torvalds [Tue, 11 Dec 2012 03:30:57 +0000 (19:30 -0800)]
Linux 3.7

11 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>
11 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

11 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>
11 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>
11 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>
11 years agoALSA: HDA: VIA: Add support for codec VT1808.
Lydia Wang [Mon, 10 Dec 2012 11:03:26 +0000 (19:03 +0800)]
ALSA: HDA: VIA: Add support for codec VT1808.

Add support for new codec VT1808, which is similiar with VT1705CF.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: HDA: VIA Add support for codec VT1705CF.
Lydia Wang [Mon, 10 Dec 2012 10:28:11 +0000 (18:28 +0800)]
ALSA: HDA: VIA Add support for codec VT1705CF.

Add support for new codec VT1705CF.
When power on/off Audio output converter of VT1705CF, the stream tag
will be cleared. But driver caches the value. So when power on Audio
output converter, the update_conv_power_state() will restore the saved
stream tag of it.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoMerge tag 'asoc-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Takashi Iwai [Mon, 10 Dec 2012 08:00:45 +0000 (09:00 +0100)]
Merge tag 'asoc-3.8' of git://git./linux/kernel/git/broonie/sound into for-next

ASoC: Updates for v3.8

Some incremental updates, nothing too exciting.  The biggest block here
is the __dev annotation removal stuff from Bill, everything else is the
usual driver-specific stuff - a combination of fixes and development.

There will be at least more more set of fixes to come but I wanted to
get these out ready for the merge window to make sure Bill's stuff makes
it in.

11 years agoASoC: core: Fix splitting of log messages
Mark Brown [Mon, 10 Dec 2012 07:19:52 +0000 (16:19 +0900)]
ASoC: core: Fix splitting of log messages

Don't wrap log messages over multiple lines, it makes them hard to grep
for.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: cs42l73: Change VSPIN/VSPOUT to VSPINOUT
Paul Handrigan [Fri, 7 Dec 2012 20:53:44 +0000 (14:53 -0600)]
ASoC: cs42l73: Change VSPIN/VSPOUT to VSPINOUT

Since VSP only has one power bit, only provide one DAPM widget.

Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: cs42l73: Add DAPM events for power down.
Paul Handrigan [Fri, 7 Dec 2012 20:53:43 +0000 (14:53 -0600)]
ASoC: cs42l73: Add DAPM events for power down.

Add power down delays between setting PDN and MCLKDIS for spk amp, spklo amp, and ear amp.

Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 years agoASoC: cs42l73: Add DMIC's as DAPM inputs.
Paul Handrigan [Fri, 7 Dec 2012 20:53:42 +0000 (14:53 -0600)]
ASoC: cs42l73: Add DMIC's as DAPM inputs.

Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
11 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
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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