Commit graph

389827 commits

Author SHA1 Message Date
Linus Torvalds
1f8b76656b ARM: SoC fixes for 3.11-rc
A handful of fixes for 3.11 are still trickling in. These are:
 - A couple of fixes for older OMAP platforms
 - Another few fixes for at91 (lateish due to European summer vacations)
 - A late-found problem with USB on Tegra, fix is to keep VBUS regulator
   on at all times
 - One fix for Exynos 5440 dealing with CPU detection
 - One MAINTAINERS update
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSFbbrAAoJEIwa5zzehBx3J3EP/3iaagsR0S9Ya8V+11tquVMQ
 5S6xF7BQddJRiM1wVwkApDXHCVEiNfKs2AAh6aFQTZhHF+2hXFY80afFSCon52tx
 same+gTJw5qsuxrDfFTfBwuyv/cAqGnfAx+EV8nHDPk3vcC62xfLbLemvBWFu+sz
 jXwhmbGmqxOffHiAAaXEbz01YYq1BQeRvm9dTXStJGmcyUomG+73DV8CSs2gKUEU
 vC7MRj1yYDRtuwkEKdHN3IDfyWpwzgYi5iS1nL1OI0MP+6Jt2dLa+j7uALXKV+f/
 R3KOkJRXBQ1W+kCd0DbiyORd9sGOM1rzHPYQF0XqtgdoYGzcQ/2B53OlFaoPBkvs
 Y+Z+B3OZZChLeZRy520x5hi5NkdVq3kcH377rND+w01ss4KFfttjb9Y0rpJ6kqaG
 L61ElFF6TGiU5WVU079gR+zVGNKhG4hZrtPvkyfHA9wN7KX5lin0BUuvX7hmFu3o
 bcF5TkcT30hIGSsvwa+DAsAsyirehuClu3QK0Val9OpZJ01Z8h/amFAjVXz/Y6N9
 xQokQ1LsttwBG/rkniahEy00Vda2sE9PXlPzopHclytq5JyiUs6zdR7nUHhyTXIM
 xpvnxV1CrGZGoNr3J9yzdKiGuw6q7kbjsOR7vwY9nH+BniFpG8YDm418UrhsN3cp
 IRo0ZDIIXlcZCyKrRl5F
 =NVob
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "A handful of fixes for 3.11 are still trickling in.  These are:
   - A couple of fixes for older OMAP platforms
   - Another few fixes for at91 (lateish due to European summer
     vacations)
   - A late-found problem with USB on Tegra, fix is to keep VBUS
     regulator on at all times
   - One fix for Exynos 5440 dealing with CPU detection
   - One MAINTAINERS update"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: tegra: always enable USB VBUS regulators
  ARM: davinci: nand: specify ecc strength
  ARM: OMAP: rx51: change musb mode to OTG
  ARM: OMAP2: fix musb usage for n8x0
  MAINTAINERS: Update email address for Benoit Cousson
  ARM: at91/DT: fix at91sam9n12ek memory node
  ARM: at91: add missing uart clocks DT entries
  ARM: SAMSUNG: fix to support for missing cpu specific map_io
  ARM: at91/DT: at91sam9x5ek: fix USB host property to enable port C
2013-08-22 10:44:44 -07:00
Linus Torvalds
8351fcfe4f For DT unflattening, add missing memory initialization. This is needed
for arches like PPC that use memblock_alloc. This appears to have been
 an issue for some time, but is a somewhat limited usecase of OF_DYNAMIC.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJSFWZgAAoJEMhvYp4jgsXipiIH/3mswl+2WQT+d7+d5cjqOD8P
 xIY4jOZlmkpKcT8fc3eZFkXA/vbcDGU/+PkMcYrP8VqXC3DuAqbTuNr/tet9Vnio
 XuMAE4AeXxSK4RL+L+u+6sEuhXMkrMiZlk0vBLbDo6MVOKEiOoCzp8CH76q8OvdY
 TF6Nyn3M8MCdLW33Una8UcZuUNd53Im+Ycie1AmfgL/dAVsbB9kYa5q8gO6YeFtJ
 Hq6RBXN3Rx2HH5rwzOFVk95MGvxrIthqU5RmmEcvJ/Dz4cZCcqdFYxZ4EXxHvFN2
 LEM89C8Qivoe2ONKDY/BfENLrNkokeFrG4w0mFjGGa5xr8WEj11AJgEuFSSGjdI=
 =vkWu
 -----END PGP SIGNATURE-----

Merge tag 'devicetree-fixes-for-3.11' of git://sources.calxeda.com/kernel/linux

Pull device tree fix from Rob Herring:
 "For DT unflattening, add missing memory initialization.

  This is needed for arches like PPC that use memblock_alloc.  This
  appears to have been an issue for some time, but is a somewhat limited
  usecase of OF_DYNAMIC"

* tag 'devicetree-fixes-for-3.11' of git://sources.calxeda.com/kernel/linux:
  of: fdt: fix memory initialization for expanded DT
2013-08-22 10:43:47 -07:00
Linus Torvalds
ee7075d45f A patch to fix dm-cache-policy-mq's remove_mapping() conflict with sparc32.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQEcBAABAgAGBQJSE8bRAAoJEMUj8QotnQNaTEEH/A+Nopgj94CbYaty/6iCeCtE
 kUwQh7mCg+JoGK0YfJFq9BgseYSC0iCH0bqgV0vhd46nLxn6k0SUhVB1+exT+d0b
 5enQOQ0ngyji4ghTrNId+FD0KXqkpg96YPyWg2NgoVlVrH1Nk2TNyZSGn5vVisM6
 xSFJ2gjL5o00pspCamVuAHBDYgQPtq3S/JIVk3ndrc3wvUl4SuhJMT6vc39oo0QA
 MndWBgxTHCcMBgcWo5RF7uCYr+HLXf6mD+ZFt4qw+NF3qAkMzM9lSL7YkCWAghPH
 uPktyvwczGI9C+VT5uPD+EbvFJGQbBscV+/wGIEkniWhyIjXcQTfOaTqVpFRcNQ=
 =qzw6
 -----END PGP SIGNATURE-----

Merge tag 'dm-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fix from Mike Snitzer:
 "A patch to fix dm-cache-policy-mq's remove_mapping() conflict with
  sparc32"

* tag 'dm-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm cache: avoid conflicting remove_mapping() in mq policy
2013-08-22 10:43:00 -07:00
Radu Caragea
41aacc1eea x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member
This is the updated version of df54d6fa54 ("x86 get_unmapped_area():
use proper mmap base for bottom-up direction") that only randomizes the
mmap base address once.

Signed-off-by: Radu Caragea <sinaelgl@gmail.com>
Reported-and-tested-by: Jeff Shorey <shoreyjeff@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michel Lespinasse <walken@google.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Adrian Sendroiu <molecula2788@gmail.com>
Cc: Greg KH <greg@kroah.com>
Cc: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-08-22 10:19:35 -07:00
Linus Torvalds
5ea80f76a5 Revert "x86 get_unmapped_area(): use proper mmap base for bottom-up direction"
This reverts commit df54d6fa54.

The commit isn't necessarily wrong, but because it recalculates the
random mmap_base every time, it seems to confuse user memory allocators
that expect contiguous mmap allocations even when the mmap address isn't
specified.

In particular, the MATLAB Java runtime seems to be unhappy. See

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

So we'll want to apply the random offset only once, and Radu has a patch
for that.  Revert this older commit in order to apply the other one.

Reported-by: Jeff Shorey <shoreyjeff@gmail.com>
Cc: Radu Caragea <sinaelgl@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-08-22 10:18:44 -07:00
Martin Peschke
b5dc3c4800 [SCSI] zfcp: remove access control tables interface (keep sysfs files)
By popular demand, this patch brings back a couple of sysfs attributes
removed by commit 663e0890e3
"[SCSI] zfcp: remove access control tables interface".
The content has been irrelevant for years, but the files must be
there forever for whatever user space tools that may rely on them.

Since these files always return a constant value, a new stripped
down show-macro was required. Otherwise build warnings would have
been introduced.

Signed-off-by: Martin Peschke <mpeschke@linux.vnet.ibm.com>
Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-08-22 09:26:51 -07:00
Martin Peschke
924dd584b1 [SCSI] zfcp: fix schedule-inside-lock in scsi_device list loops
BUG: sleeping function called from invalid context at kernel/workqueue.c:2752
in_atomic(): 1, irqs_disabled(): 1, pid: 360, name: zfcperp0.0.1700
CPU: 1 Not tainted 3.9.3+ #69
Process zfcperp0.0.1700 (pid: 360, task: 0000000075b7e080, ksp: 000000007476bc30)
<snip>
Call Trace:
([<00000000001165de>] show_trace+0x106/0x154)
 [<00000000001166a0>] show_stack+0x74/0xf4
 [<00000000006ff646>] dump_stack+0xc6/0xd4
 [<000000000017f3a0>] __might_sleep+0x128/0x148
 [<000000000015ece8>] flush_work+0x54/0x1f8
 [<00000000001630de>] __cancel_work_timer+0xc6/0x128
 [<00000000005067ac>] scsi_device_dev_release_usercontext+0x164/0x23c
 [<0000000000161816>] execute_in_process_context+0x96/0xa8
 [<00000000004d33d8>] device_release+0x60/0xc0
 [<000000000048af48>] kobject_release+0xa8/0x1c4
 [<00000000004f4bf2>] __scsi_iterate_devices+0xfa/0x130
 [<000003ff801b307a>] zfcp_erp_strategy+0x4da/0x1014 [zfcp]
 [<000003ff801b3caa>] zfcp_erp_thread+0xf6/0x2b0 [zfcp]
 [<000000000016b75a>] kthread+0xf2/0xfc
 [<000000000070c9de>] kernel_thread_starter+0x6/0xc
 [<000000000070c9d8>] kernel_thread_starter+0x0/0xc

Apparently, the ref_count for some scsi_device drops down to zero,
triggering device removal through execute_in_process_context(), while
the lldd error recovery thread iterates through a scsi device list.
Unfortunately, execute_in_process_context() decides to immediately
execute that device removal function, instead of scheduling asynchronous
execution, since it detects process context and thinks it is safe to do
so. But almost all calls to shost_for_each_device() in our lldd are
inside spin_lock_irq, even in thread context. Obviously, schedule()
inside spin_lock_irq sections is a bad idea.

Change the lldd to use the proper iterator function,
__shost_for_each_device(), in combination with required locking.

Occurences that need to be changed include all calls in zfcp_erp.c,
since those might be executed in zfcp error recovery thread context
with a lock held.

Other occurences of shost_for_each_device() in zfcp_fsf.c do not
need to be changed (no process context, no surrounding locking).

The problem was introduced in Linux 2.6.37 by commit
b62a8d9b45
"[SCSI] zfcp: Use SCSI device data zfcp_scsi_dev instead of zfcp_unit".

Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Peschke <mpeschke@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org #2.6.37+
Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-08-22 09:24:02 -07:00
Martin Peschke
d79ff14262 [SCSI] zfcp: fix lock imbalance by reworking request queue locking
This patch adds wait_event_interruptible_lock_irq_timeout(), which is a
straight-forward descendant of wait_event_interruptible_timeout() and
wait_event_interruptible_lock_irq().

The zfcp driver used to call wait_event_interruptible_timeout()
in combination with some intricate and error-prone locking. Using
wait_event_interruptible_lock_irq_timeout() as a replacement
nicely cleans up that locking.

This rework removes a situation that resulted in a locking imbalance
in zfcp_qdio_sbal_get():

BUG: workqueue leaked lock or atomic: events/1/0xffffff00/10
    last function: zfcp_fc_wka_port_offline+0x0/0xa0 [zfcp]

It was introduced by commit c2af7545aa
"[SCSI] zfcp: Do not wait for SBALs on stopped queue", which had a new
code path related to ZFCP_STATUS_ADAPTER_QDIOUP that took an early exit
without a required lock being held. The problem occured when a
special, non-SCSI I/O request was being submitted in process context,
when the adapter's queues had been torn down. In this case the bug
surfaced when the Fibre Channel port connection for a well-known address
was closed during a concurrent adapter shut-down procedure, which is a
rare constellation.

This patch also fixes these warnings from the sparse tool (make C=1):

drivers/s390/scsi/zfcp_qdio.c:224:12: warning: context imbalance in
 'zfcp_qdio_sbal_check' - wrong count at exit
drivers/s390/scsi/zfcp_qdio.c:244:5: warning: context imbalance in
 'zfcp_qdio_sbal_get' - unexpected unlock

Last but not least, we get rid of that crappy lock-unlock-lock
sequence at the beginning of the critical section.

It is okay to call zfcp_erp_adapter_reopen() with req_q_lock held.

Reported-by: Mikulas Patocka <mpatocka@redhat.com>
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Peschke <mpeschke@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org #2.6.35+
Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-08-22 08:53:30 -07:00
Stanislaw Gruszka
b2fcc0aee5 iwl4965: fix rfkill set state regression
My current 3.11 fix:

commit 788f7a56fc
Author: Stanislaw Gruszka <sgruszka@redhat.com>
Date:   Thu Aug 1 12:07:55 2013 +0200

    iwl4965: reset firmware after rfkill off

broke rfkill notification to user-space . I missed that bug, because
I compiled without CONFIG_RFKILL, sorry about that.

Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-08-22 11:40:08 -04:00
John W. Linville
89b5f74a26 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 2013-08-22 11:35:22 -04:00
Mark Brown
43bcb402f8 Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next 2013-08-22 14:29:02 +01:00
Mark Brown
7254a2212f Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next 2013-08-22 14:29:02 +01:00
Mark Brown
5f081e1ebb Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next 2013-08-22 14:29:01 +01:00
Mark Brown
16f135f08f Merge remote-tracking branch 'asoc/topic/wm8904' into asoc-next 2013-08-22 14:29:00 +01:00
Mark Brown
1179ace13e Merge remote-tracking branch 'asoc/topic/wm8782' into asoc-next 2013-08-22 14:29:00 +01:00
Mark Brown
a2e4b255c0 Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next 2013-08-22 14:28:59 +01:00
Mark Brown
0b05a05def Merge remote-tracking branch 'asoc/topic/wm8731' into asoc-next 2013-08-22 14:28:59 +01:00
Mark Brown
ab4f0935a8 Merge remote-tracking branch 'asoc/topic/wm8727' into asoc-next 2013-08-22 14:28:58 +01:00
Mark Brown
2cb852b52d Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next 2013-08-22 14:28:58 +01:00
Mark Brown
662295940b Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next 2013-08-22 14:28:57 +01:00
Mark Brown
1518eb0abc Merge remote-tracking branch 'asoc/topic/wl1273' into asoc-next 2013-08-22 14:28:57 +01:00
Mark Brown
136823384f Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next 2013-08-22 14:28:56 +01:00
Mark Brown
ac1cbbaa75 Merge remote-tracking branch 'asoc/topic/uda134x' into asoc-next 2013-08-22 14:28:55 +01:00
Mark Brown
dc52399bdf Merge remote-tracking branch 'asoc/topic/txx9' into asoc-next 2013-08-22 14:28:55 +01:00
Mark Brown
b7e8bbf29d Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next 2013-08-22 14:28:54 +01:00
Mark Brown
3efdb7f685 Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next 2013-08-22 14:28:53 +01:00
Mark Brown
f9061f2fc1 Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next 2013-08-22 14:28:53 +01:00
Mark Brown
2291d26914 Merge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next 2013-08-22 14:28:52 +01:00
Mark Brown
840f0e4378 Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2013-08-22 14:28:52 +01:00
Mark Brown
049d41409d Merge remote-tracking branch 'asoc/topic/sta32x' into asoc-next 2013-08-22 14:28:51 +01:00
Mark Brown
8ef2292edb Merge remote-tracking branch 'asoc/topic/spdif' into asoc-next 2013-08-22 14:28:50 +01:00
Mark Brown
3090186057 Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next 2013-08-22 14:28:50 +01:00
Mark Brown
d6abe0d5e7 Merge remote-tracking branch 'asoc/topic/sgtl5000' into asoc-next 2013-08-22 14:28:49 +01:00
Mark Brown
c41788c091 Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2013-08-22 14:28:49 +01:00
Mark Brown
3f151cbf76 Merge remote-tracking branch 'asoc/topic/s6000' into asoc-next 2013-08-22 14:28:48 +01:00
Mark Brown
79916433f8 Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-next 2013-08-22 14:28:48 +01:00
Mark Brown
b008387ab5 Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next 2013-08-22 14:28:47 +01:00
Mark Brown
5388d48047 Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next 2013-08-22 14:28:46 +01:00
Mark Brown
8a8b0e874a Merge remote-tracking branch 'asoc/topic/pcm3008' into asoc-next 2013-08-22 14:28:46 +01:00
Mark Brown
9e4fbee946 Merge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next 2013-08-22 14:28:45 +01:00
Mark Brown
fc30b93f83 Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next 2013-08-22 14:28:45 +01:00
Mark Brown
fe2a1e53be Merge remote-tracking branch 'asoc/topic/omap' into asoc-next 2013-08-22 14:28:44 +01:00
Mark Brown
49ffa3b1b2 Merge remote-tracking branch 'asoc/topic/nuc900' into asoc-next 2013-08-22 14:28:44 +01:00
Mark Brown
c8a538417e Merge remote-tracking branch 'asoc/topic/new-pcm' into asoc-next 2013-08-22 14:28:43 +01:00
Mark Brown
97473630c7 Merge remote-tracking branch 'asoc/topic/mxs' into asoc-next 2013-08-22 14:28:43 +01:00
Mark Brown
0995df3b63 Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-next 2013-08-22 14:28:42 +01:00
Mark Brown
6037fcad8e Merge remote-tracking branch 'asoc/topic/max9877' into asoc-next 2013-08-22 14:28:42 +01:00
Mark Brown
588701efbd Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next 2013-08-22 14:28:41 +01:00
Mark Brown
ffdcb88b80 Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next 2013-08-22 14:28:41 +01:00
Mark Brown
a065050aa2 Merge remote-tracking branch 'asoc/topic/lm4857' into asoc-next 2013-08-22 14:28:40 +01:00