Commit Graph

336075 Commits

Author SHA1 Message Date
Linus Torvalds f4bcd79c88 ARM: SoC fixes for 3.7
We've been sitting on this longer than we meant to due to travel and
 other activities, but the number of patches is luckily not that high.
 
 Biggest changes are from a batch of OMAP bugfixes, but there are a
 few for the broader set of SoCs too (bcm2835, pxa, highbank, tegra,
 at91 and i.MX).
 
 The OMAP patches contain some fixes for MUSB/PHY on omap4 which
 ends up being a bit on the large side but needed for legacy (non-DT)
 platforms. Beyond that there are a handful of hwmod/pm changes.
 
 So, fairly noncontroversial stuff all in all, and as usual around this
 time the fixes are well targeted at specific problems.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQpmQOAAoJEIwa5zzehBx37+YP/jzcKS1pU5Wf73GYIUcCPqO0
 iRwLziexucUkWXnqIIPLedUJ8Dze/8q1tSTnQ7/JSXy9SYtJf651aj5OAo8w/cXO
 d58+y1S+VTsFHbppKfQHbGpYq2n2f4PPvrL24ftp40OmomVl/ktqOB4fDN1/YuAw
 lfTeo0v8MNfyVni5ij21rCNS17IC0Tl4Mfth8zIILWe6qdqajpla7CoO7ppmUM08
 OAPi6NJL/l8vqfqNtGuk2x9cOca0jY1rdib/rfrL1LxrtLT//NP0d6h+wKaSxLWm
 Qvr9nAsnmZNV0pFnYjVxfSMwM6Gf2SBh0QG3lF0akwfe3bEXqfnG5muAtWEhpTlt
 MVx54UgKSWVBgfBH8/SsDkJ3UydxNO5XjHz9YOix1Sj390J2zpP3E24Y0vmYYaNn
 c2seHeH4SckMZ1mddZgy1NT8y7/zaXQ2OSRLyVigJ9wjKmduuOW013BpKUlHFI9E
 Uzh1GLpWe2Cwl3wKWlHRlhgp0NzpWEHhrPW254rOfai8P9xeFMMQH8eqUlSWZbDN
 GAzqUWZ4/F6NxPV1GPrVCZjrA9IYKKtZ5GkPwC1FibC9Kfyb0rp9kr7KM4mzWUY3
 7MxpFatMS4rdbJk5lXCQ1+EIIWF6xdNbURCyMAnoiaowMzdv+LkfBIW+17fDPDgI
 WAu7+QCKTQd+i/bvMsKh
 =aKWl
 -----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:
 "We've been sitting on this longer than we meant to due to travel and
  other activities, but the number of patches is luckily not that high.

  Biggest changes are from a batch of OMAP bugfixes, but there are a few
  for the broader set of SoCs too (bcm2835, pxa, highbank, tegra, at91
  and i.MX).

  The OMAP patches contain some fixes for MUSB/PHY on omap4 which ends
  up being a bit on the large side but needed for legacy (non-DT)
  platforms.  Beyond that there are a handful of hwmod/pm changes.

  So, fairly noncontroversial stuff all in all, and as usual around this
  time the fixes are well targeted at specific problems."

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: imx: ehci: fix host power mask bit
  ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()
  ARM: at91/usbh: fix overcurrent gpio setup
  ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support
  ARM: boot: Fix usage of kecho
  ARM: OMAP: ocp2scp: create omap device for ocp2scp
  ARM: OMAP4: add _dev_attr_ to ocp2scp for representing usb_phy
  drivers: bus: ocp2scp: add pdata support
  irqchip: irq-bcm2835: Add terminating entry for of_device_id table
  ARM: highbank: retry wfi on reset request
  ARM: OMAP4: PM: fix regulator name for VDD_MPU
  ARM: OMAP4: hwmod data: do not enable or reset the McPDM during kernel init
  ARM: OMAP2+: hwmod: add flag to prevent hwmod code from touching IP block during init
  ARM: dt: tegra: fix length of pad control and mux registers
  ARM: OMAP: hwmod: wait for sysreset complete after enabling hwmod
  ARM: OMAP2+: clockdomain: Fix OMAP4 ISS clk domain to support only SWSUP
  ARM: pxa/spitz_pm: Fix hang when resuming from STR
  ARM: pxa: hx4700: Fix backlight PWM device number
  ARM: OMAP2+: PM: add missing newline to VC warning message
2012-11-16 10:08:45 -08:00
John W. Linville 26c6e80892 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2012-11-16 12:59:13 -05:00
Linus Torvalds 5a0c02ba1a AArch64 page permission bug fix. Without this fix, the CPU speculatively
accesses the interrupt controller memory causing random IRQ acknowledge.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.9 (GNU/Linux)
 
 iQIcBAABAgAGBQJQpmOeAAoJEGvWsS0AyF7xciUP/3Z9mQ7KYzD4zwg04HKjZTjL
 UmtZctjhtGCDh06gTMM31ZnzlEWZLAstnLtZn07SJmrNfEUbivWbWPsea2vHJV4h
 T6x2TZoRjHgjTKM1gOSGCbXq3Ryz4+4j30PCGybfRSUImwBGSGfG6UfEtRNFOd3E
 UjPca+ePCLMB1/Y7KHU+XICWKFVajwy3VtqmRkX+xvrfzgUCFElSNPazCPKch0Ql
 bIWG0rYBL7Na0Z/uhPElCE0OgZrg/JDnTJbKGFbO9V3SMos5is0ipQq3u11eTtiV
 kXvS0RKbBWLf23QSkOjI/ja5fwn/C9uTxb8GWVPEf4jLPC/agvv01v+noaTFOh79
 jx/MuWaeGYNXQrwyTqD47pNjDDIpJBT6iaSDJWBysfcoSZHcy1BRBG/J+HkiWRAP
 v8nBgHg4AEDwrCJzyFsh5J2mNUDBnZ4AyUzcM/VbaBFIC788dgbm4Fy+jsilj72B
 6jkfm5oLVDNZa4Xz97od8PqlBZPq7tfSh8diUCJ9z8Ses3i94fFzE09YRrLV4JbQ
 GRZPt0e92O1hF3DaD+u18XrrzPVAjPNuaUT+yQ1a3Ov780mnijx02BNfinVAw3uU
 Ia4R+u8Pbu69kiGQxHQMqvh0/2/N/HfShrRdP5WrkfPq6+do+tflCjD7oqDnnuK3
 jyji0z0PFm13kNeqXSDA
 =Ak+r
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64

Pull arm64 bugfix from Catalin Marinas:
 "Arm64 page permission bug fix.

  Without this fix, the CPU speculatively accesses the interrupt
  controller memory causing random IRQ acknowledge."

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
  arm64: Distinguish between user and kernel XN bits
2012-11-16 08:32:07 -08:00
Linus Torvalds 1a1e8c6fad Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID fix from Jiri Kosina:
 "This has a build fix for architectures where memcmp() is macro, from
  Jiri Slaby"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  HID: microsoft: do not use compound literal - fix build
2012-11-16 07:58:20 -08:00
Catalin Marinas 8e620b0476 arm64: Distinguish between user and kernel XN bits
On AArch64, the meaning of the XN bit has changed to UXN (user). The PXN
(privileged) bit must be set to prevent kernel execution. Without the
PXN bit set, the CPU may speculatively access device memory. This patch
ensures that all the mappings that the kernel must not execute from
(including user mappings) have the PXN bit set.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-11-16 15:50:25 +00:00
Linus Torvalds ec0148736f USB fixes for 3.7-rc5
Here are some USB fixes for the 3.7 tree.
 
 Nothing huge here, just a number of tiny bugfixes resolving issues that
 have been found, and two reverts of patches that were found to have
 caused problems.
 
 All of these have been in linux-next already.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iEYEABECAAYFAlCmRoUACgkQMUfUDdst+ynwAACg2if9XANSq4+GqdR7lSF5jCRO
 hwMAoNh7XAM4GEXPB9m3rB395p9rHsN0
 =31VS
 -----END PGP SIGNATURE-----

Merge tag 'usb-3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg Kroah-Hartman:
 "Here are some USB fixes for the 3.7 tree.

  Nothing huge here, just a number of tiny bugfixes resolving issues
  that have been found, and two reverts of patches that were found to
  have caused problems.

  All of these have been in linux-next already.

  Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"

* tag 'usb-3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  Revert "USB/host: Cleanup unneccessary irq disable code"
  USB: option: add Alcatel X220/X500D USB IDs
  USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs
  USB: keyspan: fix typo causing GPF on open
  USB: fix build with XEN and EARLY_PRINTK_DBGP enabled but USB_SUPPORT disabled
  USB: usb_wwan: fix bulk-urb allocation
  usb: otg: Fix build errors if USB_MUSB_OMAP2PLUS is selected as module
  usb: musb: ux500: fix 'musbid' undeclared error in ux500_remove()
  Revert "usb: musb: use DMA mode 1 whenever possible"
2012-11-16 07:47:18 -08:00
Linus Torvalds d6ee1a2894 TTY fixes for 3.7-rc5
Here are two TTY driver fixes for 3.7-rc5.
 
 They resolve a bug in the hvc driver that has been reported, and fix a
 problem with the list of device ids in the max310x serial driver.
 
 Both have been in linux-next for a while.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iEYEABECAAYFAlCmRekACgkQMUfUDdst+ym94QCfZXb34WBxejNff2PowH9GZ7zL
 NNAAoLi2YFB68la0KYxQ8zWBakL/QeyZ
 =w8fs
 -----END PGP SIGNATURE-----

Merge tag 'tty-3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull TTY fixes from Greg Kroah-Hartman:
 "Here are two TTY driver fixes for 3.7-rc5.

  They resolve a bug in the hvc driver that has been reported, and fix a
  problem with the list of device ids in the max310x serial driver.

  Both have been in linux-next for a while.

  Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"

* tag 'tty-3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  tty: serial: max310x: Add terminating entry for spi_device_id table
  TTY: hvc_console, fix port reference count going to zero prematurely
2012-11-16 07:46:38 -08:00
Linus Torvalds 7e111565b7 Staging tree fix for 3.7-rc5
Here is a single patch, a revert of an android driver patch, that
 resolves a bug that has been reported in the Android alarm driver.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iEYEABECAAYFAlCmRx4ACgkQMUfUDdst+yl3DwCbB9ekMEOeU8kRPiFozI8m702t
 JbsAnikKlAk+EmoufP46+3+PVKh7582d
 =pRqt
 -----END PGP SIGNATURE-----

Merge tag 'staging-3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging tree fix from Greg Kroah-Hartman:
 "Here is a single patch, a revert of an android driver patch, that
  resolves a bug that has been reported in the Android alarm driver.

  Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"

* tag 'staging-3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  Revert "Staging: Android alarm: IOCTL command encoding fix"
2012-11-16 07:46:04 -08:00
Arnd Bergmann 6658d6a595 Two little fixes, one related to the move to sparse irq and
another one fixing the check of a GPIO for USB host overcurrent.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQphQoAAoJEAf03oE53VmQDs0H/1SCQfdQY8iLNs+3WGYhGngG
 vMID1KWKmX6URrppi2gklr8weUoqYIVIA8I7+hLvr33tGrmSPRDrGV6vI5m0wAiJ
 nkDNAkcGJ6dh/hhotakjqqKLkNtD1xDdErHMOO77fAK811gQj1sVp+8S+UwDQUf7
 O1bbMpMar2/3c6cLb27GE7M4FrLwjmCnQxyQWyBrckPhPMzYNw3MbcW3CINXSYBY
 q/FtFX7nsl2cfPsz8M2KCB43SKZT/bizkPnnjA5QQDhUPlsyTQWdS2z1RAwP2SZn
 3WXoL4t4bNo1Ynusz416pB3djHqJwhxxWYxdMD91nIUXmmXkvIg+fWsdaNmaBI0=
 =wlxI
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes

From Nicolas Ferre <nicolas.ferre@atmel.com>:

Two little fixes, one related to the move to sparse irq and
another one fixing the check of a GPIO for USB host overcurrent.

* tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
  ARM: at91/usbh: fix overcurrent gpio setup
  ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-11-16 16:43:58 +01:00
Arnd Bergmann 57260e4088 ARM i.MX fixes for 3.7-rc
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABCAAGBQJQplk7AAoJEPFlmONMx+ezYSMP/2oG4bGXA3O0ktyTOC2VA63v
 VEoElBItx1ZdwKmVOMOQfH5IHHFUnOxrIBB27+67qr22/gfjlrUftpVMkiwpNhqP
 itYkPZWynkJ+1mZMpV7nJC9PEuyKdw5FKQJovsrsGYkwOfXfylx8kJWJH+zLwXRg
 wLcTsb33U+H+zyWz2TCLr8+SHEiepVcRrsBgjDp1PlIK1eMhZPztdQWVvD6zZjej
 vnB4ea+VUE8Q6HS7CwtBf++u97hsehD7ZZ1raEllhdiXi6SXtK0ARMKk0gSalQXU
 mg/tV2yU3blFZFFcebPG1Mdfow6E+5xzrboCJwB0X3LnkHkdBsUr5KA4AzqedDt9
 KmQqXj1vsLpDQaGMrT+icRkZmKgeBnNb84IxU69WJiEiStJeUNz7WWtGhmGcMn7L
 T9H33gaJbrYqcVj2NSiHP1XbHG0NKv79PgogzfPxQdR0oLXCVpFdw1cgy898bNFj
 Oche3MG1w9p2hTfDZbQpivJOSZWqh92ug8/yTPFR8EwoM6WHhROv13E1GdO22LF0
 QPQOcXtyiYsPlPB02rqpkfAC49At5o03i3IGcT5wn4wTbyEa8BQl5ZyDwAXg2ZAi
 MBMskQ2V4u5sbf8Ok0Vj7ji/OLgKz/k7D3IfQ6CyBaOtILIF6X96Mh+sWGsX82sj
 QTwkEhTr/Tgk5wtivn8i
 =3SGE
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-rc' of git://git.pengutronix.de/git/imx/linux-2.6 into fixes

From Sascha Hauer <s.hauer@pengutronix.de>:

ARM i.MX fixes for 3.7-rc

* tag 'imx-fixes-rc' of git://git.pengutronix.de/git/imx/linux-2.6:
  ARM: imx: ehci: fix host power mask bit
  ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-11-16 16:42:59 +01:00
Linus Torvalds 62735e5231 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 patches from Martin Schwidefsky:
 "Some more bug fixes and a config change.

  The signal bug is nasty, if the clock_gettime vdso function is
  interrupted by a signal while in access-register-mode we end up with
  an endless signal loop until the signal stack is full.  The config
  change is for aligned struct pages, gives us 8% improvement with
  hackbench."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/3215: fix tty close handling
  s390/mm: have 16 byte aligned struct pages
  s390/gup: fix access_ok() usage in __get_user_pages_fast()
  s390/gup: add missing TASK_SIZE check to get_user_pages_fast()
  s390/topology: fix core id vs physical package id mix-up
  s390/signal: set correct address space control
2012-11-16 07:39:30 -08:00
Linus Torvalds 7279d7cb52 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie:
 "All pretty normal: one TTM oops fix, one radeon, a few intel and a
  vmwgfx fix."

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
  drm/ttm: remove unneeded preempt_disable/enable
  ttm: Clear the ttm page allocated from high memory zone correctly
  vmwgfx: return an -EFAULT if copy_to_user() fails
  drm/radeon: fix logic error in atombios_encoders.c
  drm/i915: do not ignore eDP bpc settings from vbt
  drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures
  drm/i915/crt: fix DPMS standby and suspend mode handling
2012-11-16 07:32:32 -08:00
Linus Torvalds e057aad191 GCC 4.7 users get compilation errors from unnecessary use of inline in
clk-provider.h.  This pull request fixes the regression by removing inline
 usage from those function declarations.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQpUWqAAoJEDqPOy9afJhJGxIQAIUDNow/T5KmaddVxWB6CfTz
 wkxmgNHJ0pPZPVrWJt7kpp2jEdHVk2opVaacMVvKJqMoqliMqVUMYVzkTcjmq4UH
 xNAQnR60Kte49tuk4QkeT2AMndAAY9Wo/JBl+LPRuRP2bniAzY8UhBqeWto/jdO5
 2MvpUHMfzhobhGDJX1kGCbUYKZlxW06AdGSfcXFmZdlmHlWtH2ZIvDhdg/n9pLEX
 mR8xhqxIQxe9rwDkG/fjoBn6RM8v52bJUBDglRwu6ns7eczNcKcjsLQ55ddqJLqT
 HTII/e9KI63nAi1NmmG7+lSzb7yYxOx7qSNJ2DSRU54BKJiTXqj3IHaZbrHA84Zt
 7d7iUu/MsXkR5h++m7p5CAtgwxelHyldN++ohQwVYs0wBRFIrVDGXnUqrT5vL9hV
 jh+nYRAF/k8swE2wYqqYTbpOA1AHwg58/WLdqi72NntzbLqueBuaB1oJyL9v1xtp
 6rP2mSSo83i2uo3YXh7OYV4waHFEffzk4idzXWv6tVTfNKaADYwtUyvH7Te0rQeU
 cJHO80mqyvZblI3yrVETU4KRrkHbDqHtGGUMW/aCMY/7K8RrSZdZEZVN2BY1+lip
 cgd8jPJf2M98yGsM2jcvyLdQw+0ZMb+pVSkOyGHZPsKmSE18xeb/HDh7uP6Y8u9m
 SJwr7bu2ojf5w2AcFCRH
 =Y6xa
 -----END PGP SIGNATURE-----

Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux

Pull another clk layer fix from Michael Turquette:
 "GCC 4.7 users get compilation errors from unnecessary use of inline in
  clk-provider.h.  This pull request fixes the regression by removing
  inline usage from those function declarations."

* tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux:
  clk: remove inline usage from clk-provider.h
2012-11-16 07:19:45 -08:00
Christoph Fritz 3d5e2abe6e ARM: imx: ehci: fix host power mask bit
This patch sets HPM (Host power mask bit) to bit 16 according to i.MX
Reference Manual. Falsely it was set to bit 8, but this controls pull-up
Impedance.

Reported-by: Michael Burkey <mdburkey@gmail.com>
Cc: Stable <stable@vger.kernel.org>
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Acked-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-11-16 15:55:05 +01:00
Wei Yongjun ecf026dc34 ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()
The error-valued pointer clk is used for the arg of kfree, it should be
kfree(gate) if clk_register() return ERR_PTR().

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-11-16 15:53:57 +01:00
Johan Hovold 641f3ce64b ARM: at91/usbh: fix overcurrent gpio setup
Use gpio_is_valid also for overcurrent pins (which are currently
negative in many board files).

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2012-11-16 10:46:29 +01:00
Nicolas Royer 097965ee44 ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support
Spare irq support introduced by commit 8fe82a5 (ARM: at91: sparse irq support)
involves to add the NR_IRQS_LEGACY offset to irq number.

Signed-off-by: Nicolas Royer <nicolas@eukrea.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Eric Bénard <eric@eukrea.com>
Tested-by: Eric Bénard <eric@eukrea.com>
Cc: stable@vger.kernel.org # 3.6
2012-11-16 10:41:51 +01:00
Antonio Quartulli 74490f9691 batman-adv: process broadcast packets in BLA earlier
The logic in the BLA mechanism may decide to drop broadcast packets
because the node may still be in the setup phase. For this reason,
further broadcast processing like the early client detection mechanism
must be done only after the BLA check.

This patches moves the invocation to BLA before any other broadcast
processing.

This was introduced 30cfd02b60
("batman-adv: detect not yet announced clients")

Reported-by: Glen Page <glen.page@thet.net>
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
2012-11-16 09:36:54 +01:00
Antonio Quartulli 1f36aebcc5 batman-adv: don't add TEMP clients belonging to other backbone nodes
The "early client detection" mechanism must not add clients belonging
to other backbone nodes. Such clients must be reached by directly
using the LAN instead of the mesh.

This was introduced by 30cfd02b60
("batman-adv: detect not yet announced clients")

Reported-by: Glen Page <glen.page@thet.net>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
2012-11-16 09:36:43 +01:00
Antonio Quartulli 27b37ebfa2 batman-adv: correctly pass the client flag on tt_response
When a TT response with the full table is sent, the client flags
should be sent as well. This patch fix the flags assignment when
populating the tt_response to send back

This was introduced by 30cfd02b60
("batman-adv: detect not yet announced clients")

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
2012-11-16 09:36:27 +01:00
Antonio Quartulli e9c00136a4 batman-adv: fix tt_global_entries flags update
Flags carried by a change_entry have to be always copied into the
client entry as they may contain important attributes (e.g.
TT_CLIENT_WIFI).

For instance, a client added by means of the "early detection
mechanism" has no flag set at the beginning, so they must be updated once the
proper ADD event is received.

This was introduced by 30cfd02b60
("batman-adv: detect not yet announced clients")

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
2012-11-16 09:28:03 +01:00
Simon Marchi 6fc4adca6c tilegx: request_irq with a non-null device name
This patch simply makes the tilegx net driver call request_irq with a
non-null name. It makes the output in /proc/interrupts more obvious, but
also helps tools that don't expect to find null there.

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-16 01:40:41 -05:00
Yuanhan Liu 29448ec129 [libata] PM callbacks should be conditionally compiled on CONFIG_PM_SLEEP
This will fix warnings like following when CONFIG_PM_SLEEP is not set:

        warning: 'xxx_suspend' defined but not used [-Wunused-function]
        warning: 'xxx_resume' defined but not used [-Wunused-function]

Because
	SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)

Only references the callbacks on CONFIG_PM_SLEEP (instead of CONFIG_PM).

Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: linux-ide@vger.kernel.org
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-11-16 00:45:37 -05:00
David Milburn b03e66a6be sata_svw: check DMA start bit before reset
If kdump is triggered with pending IO, controller may not respond causing
kdump to fail.

http://marc.info/?l=linux-ide&m=133032255424658&w=2

During error recovery ata_do_dev_read_id never completes due hang
in mmio_insw.

ata_do_dev_read_id
 ata_sff_data_xfer
  ioread16_rep
   mmio_insw

if DMA start bit is cleared before reset, PIO command is successful
and kdump succeeds.

Signed-off-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-11-15 23:54:41 -05:00
Borislav Petkov cd705d5ad4 libata debugging: Warn when unable to find timing descriptor based on xfer_mode
ata_timing_find_mode could return NULL which is not checked by all
low-level ATA drivers using it and cause a NULL ptr deref. Warn at least
so that possible issues can get fixed easily.

Signed-off-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-11-15 23:51:11 -05:00
Arnd Bergmann c37472d3f4 sata_highbank: mark ahci_highbank_probe as __devinit
The ahci_highbank_probe function is incorrectly marked as __init,
which means it can get discarded at boot time, which might be
a problem if for some reason the device only becomes operational
after loading another module.

Using __devinit instead avoids seeing this warning for every build:

WARNING: vmlinux.o(.data+0xf7b0): Section mismatch in reference from the
variable ahci_highbank_driver to the function .init.text:ahci_highbank_probe()
The variable ahci_highbank_driver references
the function __init ahci_highbank_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mark Langsdorf <mark.langsdorf@calxeda.com>
Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-11-15 23:44:27 -05:00
Vipul Kumar Samar 9addf6afee pata_arasan: Initialize cf clock to 166MHz
PATA arasan driver expects the clock to be set to 166 MHz for proper
functioning.  This patch sets clk to 166 MHz in probe.

Signed-off-by: Vipul Kumar Samar <vipulkumar.samar@st.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-11-15 23:40:20 -05:00
Aaron Lu 60817a680b libata-acpi: Fix NULL ptr derference in ata_acpi_dev_handle
commit 6b66d95895 didn't handle SATA PMP
case in ata_acpi_bind_device and will cause a NULL ptr dereference when
user attached a SATA drive to the PMP port. Fix this by checking PMP
support.

This bug is reported by Dan van der Ster in the following bugzilla page:
https://bugzilla.kernel.org/show_bug.cgi?id=48211

Reported-by: Dan van der Ster <dan@vanderster.com>
Tested-by: Dan van der Ster <dan@vanderster.com>
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Tested-by: Simon <tangouniform@sbcglobal.net>
2012-11-15 23:20:55 -05:00
Dimitris Papastamos 96e1f18fbb ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-16 09:38:06 +09:00
Mark Brown c3c9b370ea ASoC: bells: Fix up git patch application failure
It seems git has been getting confused by the very similar contexts
for the speaker DAIs and has been applying patches to the wrong places
causing all sorts of confusion.  Fix this up by hand.

Reported-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-16 09:30:56 +09:00
Dave Airlie 6f755116c9 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
Daniel writes:
Just a few small things to fix regressions, somehow all patches from Jani:
- Fix dpms confusion about which platforms support intermediate modes on
  vga.
- Revert the "ignore vbt for eDP bpc" patch, it breaks machines. This will
  annoy mbp retina owners again, but windows machines seem to _really_
  depend upon this. We can try to quirk the mbp retinas again in 3.8 and
  backport the patch.
- Fix connector leaks when the sdvo setup failed, resulted in an OOPS
  later on when trying to probe that connector (with it's encoder kfree'd
  already).

* 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
  drm/i915: do not ignore eDP bpc settings from vbt
  drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures
  drm/i915/crt: fix DPMS standby and suspend mode handling
2012-11-16 10:00:43 +10:00
Dave Airlie 3697fd50a5 Merge branch 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
Just a single radeon fix from Alex.

* 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux:
  drm/radeon: fix logic error in atombios_encoders.c
2012-11-16 10:00:24 +10:00
Akinobu Mita 55aa914e92 drm/ttm: remove unneeded preempt_disable/enable
It is unnecessary to disable preemption explicitly while calling
copy_highpage().  Because copy_highpage() will do it again through
kmap_atomic/kunmap_atomic.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-11-16 09:59:51 +10:00
Zhao Yakui ac207ed247 ttm: Clear the ttm page allocated from high memory zone correctly
The TTM page can be allocated from high memory. In such case it is
wrong to use the page_address(page) as the virtual address for the high memory
page.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-11-16 09:56:35 +10:00
Dan Carpenter 888155bbf6 vmwgfx: return an -EFAULT if copy_to_user() fails
copy_to_user() returns the number of bytes remaining to be copied, but
we want to return a negative error code here.  I fixed a couple of these
last year, but I missed this one.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-11-16 09:53:01 +10:00
Jiri Pirko a652208e0b net: correct check in dev_addr_del()
Check (ha->addr == dev->dev_addr) is always true because dev_addr_init()
sets this. Correct the check to behave properly on addr removal.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15 17:57:53 -05:00
Andrew Vagin ec34232575 tcp: fix retransmission in repair mode
Currently if a socket was repaired with a few packet in a write queue,
a kernel bug may be triggered:

kernel BUG at net/ipv4/tcp_output.c:2330!
RIP: 0010:[<ffffffff8155784f>] tcp_retransmit_skb+0x5ff/0x610

According to the initial realization v3.4-rc2-963-gc0e88ff,
all skb-s should look like already posted. This patch fixes code
according with this sentence.

Here are three points, which were not done in the initial patch:
1. A tcp send head should not be changed
2. Initialize TSO state of a skb
3. Reset the retransmission time

This patch moves logic from tcp_sendmsg to tcp_write_xmit. A packet
passes the ussual way, but isn't sent to network. This patch solves
all described problems and handles tcp_sendpages.

Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15 17:44:58 -05:00
Igor Mazanov 93532c8a48 clk: remove inline usage from clk-provider.h
Users of GCC 4.7 have reported compiler errors due to having inline
applied to function declarations in clk-provider.h.  The definitions
exist in drivers/clk/clk.c.  An example error:

In file included from arch/arm/mach-omap2/clockdomain.c:25:0:
arch/arm/mach-omap2/clockdomain.c: In function ‘clkdm_clk_disable’:
include/linux/clk-provider.h:338:12: error: inlining failed in call to always_inline ‘__clk_get_enable_count’: function body not available
arch/arm/mach-omap2/clockdomain.c:1001:28: error: called from here
make[1]: *** [arch/arm/mach-omap2/clockdomain.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

This patch removes the use of inline from include/linux/clk-provider.h
but keeps the function definitions in drivers/clk/clk.c as inlined since
they are one-liners.

Signed-off-by: Igor Mazanov <i.mazanov@gmail.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: improved subject, added changelog]
2012-11-15 11:38:34 -08:00
Linus Torvalds c5e35d6c51 Git pull request for linus
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIbBAABAgAGBQJQnM18AAoJENFylnOm3dTbxh8P92lymakR2CUNk7pJINluS9ay
 fbXHor+2KS31gWD6M1oqtdH9KLsiqDBNraTiyQwhzC5i6XeNnABN3KW6tJmi6ntl
 p8q3ZjflmoW9tMziulUmFKQ1nuDG8ii4OnGj2CShcAVU7BCRJeqT905epV2jRf6V
 AL2TpdAkYAWpjYI9JLOWCzu3WWxYvnnaDXDTsbNYMGE77zHSkAP76Or9fKo4jcj4
 GORcgPumskB64W1RYqfGkvmhYCI5z0YaIVMTGLunrS+jXIbYsEsSyAP1zUudmkEI
 Mz/MQ3j8zyAXKGkGj2UW+LBs35T8UJeZVigkrieRS9trzWp9seNqx717CTVd1dro
 fwAj+pmeEYi1Z2NQ0DASBb/87t5QscWeeZU6k7FHhr1Ro84HJcZ16riknA3Zzd+i
 1kWup/TyeApY2uecAYHykK2LaxM4qrn62B9Lg/fl/iU5mrHsrm8hrcSkX7FhmdrR
 N+/TeCte6RZwZnm4ZmnQPrNctdBYdp1pCmfBZbQcdhsTBDs0+UkQBeANHnxQJxmf
 +y84SoC4O2V+LC+ee/zHc3DuaOwcTnAlrf7APYUGf8Y9pOGvT5E5LG8otVrzfyeT
 40YoN5fhddQfmKZksTvhTnBktg8eMr2MkBvg751qTgvX7zc7YpIvwc9T3k9fLy3M
 UAXx9XTmKGPLDPN1qvU=
 =de8m
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://github.com/gxt/linux

Pull unicore32 update from Guan Xuetao.

* tag 'for-linus' of git://github.com/gxt/linux:
  arch/unicore32: remove CONFIG_EXPERIMENTAL
  unicore32: switch to generic sys_execve()
  unicore32: switch to generic kernel_thread()/kernel_execve()
  unicore32: Use Kbuild infrastructure for kvm_para.h
  UAPI: (Scripted) Disintegrate arch/unicore32/include/asm
  UniCore32-bugfix: Remove definitions in asm/bug.h to solve difference between native and cross compiler
  UniCore32-bugfix: fix mismatch return value of __xchg_bad_pointer
  UniCore32 bugfix: add missed CONFIG_ZONE_DMA
  unicore32/mm/fault.c: Port OOM changes to do_pf
2012-11-15 11:34:45 -08:00
Linus Torvalds ce95a36bb9 Two patches which fix a problem reported by several people in the past,
but only fixed now because no one gave enough material for debugging.
 
 Anyway, these fix the problem that sometimes after a power cut the
 file-system is not mountable with the following symptom:
 
 	grab_empty_leb: could not find an empty LEB
 
 The fixes make the file-system mountable again.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQpQcdAAoJECmIfjd9wqK0iOAP/RbkGdtNznPpm4henealAx+d
 9R5kDsmVT3iSmVC7ryAwCapDoe0JUhzN9OiaAMzH66Hmw0isFoOFY5VGd+jPmbMd
 biIUTvQ9AmmrTuLW0zkU8SmUwLDxmZD48IhJnzkmEaUAzF1cN1eLox5FDTzs9a/p
 RW+m1RXJWX2tPpGs9WRtltVfaLaieQcfFbuSmuY48vyR9TM9svoMOqW2hEABlMFA
 xvJFwir/H1w1mE+QVcB7FhvvUTB3fMcCNnxIEiLec2QLlQwJXfIO03ZpMJAN7Z/s
 s7lgRl29pI6vCwbyV1u9P3hfPg02a0hB71U4nk3HXE5rGBJMTf2qgXJnBE8sDxVu
 kO8yIcGv9f/rD6JFmFbQ1VmMH7XCBb6Glyyqbz8hkRR6hnkyeDiGz3UnO48cqM2d
 gApoRlRGPwG3vqjIxKdKY2qzkPgtw86ktKgS2K7X8Owh+yYgcGYKstK5OtRn83aW
 2s5Z6n10i/ucI0bVNYoBr7I1NnSg7b2AETbeNdnQiAmOS+6022HaOaSVxJQTlY7n
 p/WhsRMHp3vUeok7M42+ObXOMe8tJF00NnlneNx9bpPmlTOvnKxB7/WcPNEqGSwo
 vBkrFTp+HCo+mLCT/4ug2XSxMQD42oGUv5wYSjNwpsT9gCsrpC2ZUD++yk6ifliq
 dXSypO7Gd4jLSF7sHtq0
 =1iao
 -----END PGP SIGNATURE-----

Merge tag 'upstream-3.7-rc6' of git://git.infradead.org/linux-ubifs

Pull UBIFS fixes from Artem Bityutskiy:
 "Two patches which fix a problem reported by several people in the
  past, but only fixed now because no one gave enough material for
  debugging.

  Anyway, these fix the problem that sometimes after a power cut the
  file-system is not mountable with the following symptom:

	grab_empty_leb: could not find an empty LEB

  The fixes make the file-system mountable again."

* tag 'upstream-3.7-rc6' of git://git.infradead.org/linux-ubifs:
  UBIFS: fix mounting problems after power cuts
  UBIFS: introduce categorized lprops counter
2012-11-15 11:28:43 -08:00
Linus Torvalds 006b956807 A small fixup for the persistent storage subsystem. The bug can prevent
kernel booting on a APEI-enabled machines w/ CONFIG_PSTORE_CONSOLE=y (this
 is N by default, though).
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABAgAGBQJQpFo9AAoJEGgI9fZJve1bzCwQAJPEkbARp6KEjUMF4UHfxot7
 DPtzLHTXR4hnuI75OP1yE2tSeyiWGUX8Pay91tYjMr92xSFXAmAd0YV7f4eA48dy
 RXZiCkRft5W7FJvg3uM9RCvNEpbNwm5ZBy/NkxIn8mgIO+OAkhT0bedV5RNmGLx+
 gCRb99XhwYFFF2+DzcedWAhUHDTHF9AF1yQg9z7eL/1qxEEUMTbvI9yyx4smZ2wd
 OPQWoXvTsTJyivnRtLDMzWu3MXAB6NSpymw4LEV03Q7eAA8VdfQCgMvwfxUpxnwY
 VM6E00hpD1foFfe8QTiIcSRvDqZAGGP4/dXoULaiLEmslwSfaBa/vhyA9G+JYeAO
 HcJwL3n0kjOTZ4wfNXb+DEXNVz+lqFawuFqfh76WHNqCf9K+X2US4Q6KPD/8nHRY
 ZEJEK2xmAFilwDWr+fTTx1EO5AT6uhk2MYECnZ+EALb8tWpy+JXhArCYS7ssk7Nv
 Y505nQbvrt3ELztzX58jswINKQPM/bgWNF8zupBscpsNS8a+5DA+CQ/8y8l3Mr2k
 2mE4EUR6r8ou56MEfjqgBC1Dz39QRKPUZIts8ggPYptSrUJoN48ioVN2eZhau13D
 wJqP/sAAZJCUCgr3Xn3UUxiUOw/z4L7eA2JtEQsc5WOfv+lWZm8eAupvmldUZee0
 qAMIdx807XnivkAavIp+
 =CmNn
 -----END PGP SIGNATURE-----

Merge tag 'for-v3.7-fixes' of git://git.infradead.org/users/cbou/linux-pstore

Pull pstore fix from Anton Vorontsov:
 "A small fixup for the persistent storage subsystem.  The bug can
  prevent kernel booting on a APEI-enabled machines w/ PSTORE_CONSOLE=y
  (this is N by default, though)."

* tag 'for-v3.7-fixes' of git://git.infradead.org/users/cbou/linux-pstore:
  pstore: Fix NULL pointer dereference in console writes
2012-11-15 11:27:53 -08:00
Linus Torvalds e8017454ff Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
Pill i2c fixes from Jean Delvare.

Well, "fixes"..  The biggest patch here is actually Jan marking Wolfram
Sang as the main i2c subsystem maintainer, with Jan staying on as the PC
controller maintainer.

* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  i2c-mux-pinctrl: Fix probe error path
  MAINTAINERS: i2c: 7 years, this is it
2012-11-15 11:25:39 -08:00
Linus Torvalds 7c96cfcd4e regulator: Fixes for v3.7
A few fixes for teardown issues that will be rarely seen, plus a fix for
 a silly bug in regulator_is_supported_voltage() which shows how often
 the answer to the question should be false.
 
 The supported voltage commit is very new as I just edited to add a Cc to
 stable, the code itself has been in -next.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQpFCIAAoJELSic+t+oim9qSoP/jvczRiW2kS9Rac8JWR3q08K
 htYKMR2Ve825AI5gqx6J68gzo5gCBFef1wZ6cacTa3LTYebHLWBV3IRfQqUhuIhA
 sxx15nABvjp/hMOo/7pFSyzxy/Gq5bDY1cBfPggTHo2tFVQ3vwp/K4subo0T/8j+
 oQPb1YMVM3nPTEXiJfZJ2lnuIc7eOtGMptVOsW/0JHdzzij6CKqeHI6PYmzpsHMm
 wevhYbEefTi0jauXXtDUPFEqD/QCMe/C1oYdE0G+Xh7vCiD5S/C2c7cEeEjvX5QH
 xXsy3ksSIEyrMXQ/KjJNCvTe/LnoxTkCstuEVDkxImCSGLdfqyWwWwgDODuFAAk6
 MpPjie9pFeBRcCsJuZgnst1NKS4PNVMnorMOOeQvzNhltsGhojSG2j5UVyQW/tnD
 UNbKxlPfrvsy9oyPB/YWkPmjGggwIOIsXfHYFlH2QrHuTNfawFl22PUteSRKCedi
 /DDL5tuz1u2kEZd5TB+xodKtnxPUxexrQbrChN4BXlRrGSfjr79lmr9HW7lz1UJm
 HlTjmrjXn3esQyIgIuBseXSQP6jpXAvXvuZ+Fw/YuOYxqZiREtsPix9ADLRwGj20
 aGCrghXMylk0VMP8mqMeurry36OYP+0v0GyDnB5cQrkyW0TS+kPSrReNyJ6apn3N
 dt50RbLYnF7uaZJh48OD
 =HyTz
 -----END PGP SIGNATURE-----

Merge tag 'regulator-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
 "A few fixes for teardown issues that will be rarely seen, plus a fix
  for a silly bug in regulator_is_supported_voltage() which shows how
  often the answer to the question should be false.

  The supported voltage commit is very new as I just edited to add a Cc
  to stable, the code itself has been in -next."

* tag 'regulator-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: fix voltage check in regulator_is_supported_voltage()
  regulator: core: Avoid deadlock when regulator_register fails
  Regulator: core: Unregister when gpio request fails.
2012-11-15 11:22:03 -08:00
Linus Torvalds 382161340e Sound fixes for 3.7-rc6
The only large LOC is seen in WM5102 driver, just writing a bunch of
 register updates, but the actual code change is small.
 Other than that, all small fixes suitable for rc6.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABAgAGBQJQo9UDAAoJEGwxgFQ9KSmkuqwP/0ls48kThHyxMQlzfG2a3NxQ
 I8m1tddwLVmKWKU/bth51/JO92ETG9d8DVJbGd7r+LNpoPRvhX6+/EENL1w8P1Tm
 Ehl229DaL1yn9ZX+VUAgQbUC5FB8bbB9a4Pb0XLrAk7RZv9r480YPViQ24jX8ybG
 Mgz/WwzzzOEC5wPgbCxZcToJXZnTx6H9ERlBSZdfR3xV06FJfZgoeclZtx1+9MAJ
 ga+mvbv9zt/BT5NpcmzDdJs/I0y/dI0xW18bcBgeXiGOWI2k8HThKvlqhzMkFQyn
 eRANmnhynUAclYJkIP9RL0fT53f1yeI66SCNWklvqEX692tMDiDO/RABFdByT9DJ
 wg4Yg0lv3pmqwPCTBg4FO5ZIjrD9Y3IVf32PrYPhuyUh82BA4fgt0gnR2sgrwaK8
 5HoISriyfqu0gQXwag8+5llu9E3t9FC4SYI1gCxqhjUTazCCxZGkRq1HIPy5WyWD
 t3WT/BU9C5sO1okcgiRAN0vgNw9v3Hf8FYypQNL92aIK3QqY/gkDGEeYwL8myxnQ
 XVPukO107VZml4Ud1l8Vv0mh3PLKO7CUBegxt4B083+kr/STbg2y2ix7Fkn+7Qqk
 9oX13Jsn/eNrcpyWJdDLQrRT2nVEhAX6yf+jygpE9d3UAUFiW74aA4YZAK4aAkZv
 odDb6kjMPxoqLgp4IpwB
 =d78q
 -----END PGP SIGNATURE-----

Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "The only large LOC is seen in WM5102 driver, just writing a bunch of
  register updates, but the actual code change is small.  Other than
  that, all small fixes suitable for rc6."

* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: usb-audio: Fix mutex deadlock at disconnection
  ALSA: fm801: precedence bug in snd_fm801_tea575x_get_pins()
  ALSA: es1968: precedence bug in snd_es1968_tea575x_get_pins()
  ALSA: hda - Add a missing quirk entry for iMac 9,1
  ASoC: core: Double control update err for snd_soc_put_volsw_sx
  ASoC: dapm: Use card_list during DAPM shutdown
  ASoC: cs42l52: fix the return value of cs42l52_set_fmt()
  ASoC: bells: Correct type in sub speaker DAI name for WM5102
  ASoC: wm8978: pll incorrectly configured when codec is master
  ASoC: mxs-saif: Fix channel swap for 24-bit format
  ASoC: bells: Select WM1250-EV1 Springbank audio I/O module
  ASoC: bells: Add missing select of WM0010
  ASoC: mxs-saif: Add MODULE_ALIAS
  ASoC: wm5102: Write register value corrections after SYSCLK is enabled
2012-11-15 11:21:28 -08:00
Tommi Rantala 0da9a0c263 sctp: fix /proc/net/sctp/ memory leak
Commit 13d782f ("sctp: Make the proc files per network namespace.")
changed the /proc/net/sctp/ struct file_operations opener functions to
use single_open_net() and seq_open_net().

Avoid leaking memory by using single_release_net() and seq_release_net()
as the release functions.

Discovered with Trinity (the syscall fuzzer).

Signed-off-by: Tommi Rantala <tt.rantala@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15 13:56:05 -05:00
Heiko Carstens ae289dc1f4 s390/3215: fix tty close handling
The 3215 console always has the RAW3215_FIXED flag set, which causes
raw3215_shutdown() not to wait for outstanding I/O requests if an attached
tty gets closed.
The flag however can be simply removed, so we can guarantee that all requests
belonging to the tty have been processed when the tty is closed.

However the tasklet that belongs to the 3215 device may be scheduled even if
there is no tty attached anymore, since we have a race between console and tty
processing.
Thefore unconditional tty_wakekup() in raw3215_wakeup() can cause the following
NULL pointer dereference:

3.465368 Unable to handle kernel pointer dereference at virtual kernel address (null)
3.465448 Oops: 0004 #1 SMP
3.465454 Modules linked in:
3.465459 CPU: 1 Not tainted 3.6.0 #1
3.465462 Process swapper/1 (pid: 0, task: 000000003ffa4428, ksp: 000000003ffb7ce0)
3.465466 Krnl PSW : 0404100180000000 0000000000162f86 (__wake_up+0x46/0xb8)
3.465480            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 EA:3
         Krnl GPRS: fffffffffffffffe 0000000000000000 0000000000000160 0000000000000001
3.465492            0000000000000001 0000000000000004 0000000000000004 000000000096b490
3.465499            0000000000000001 0000000000000100 0000000000000001 0000000000000001
3.465506            070000003fc87d60 0000000000000160 000000003fc87d68 000000003fc87d00
3.465526 Krnl Code: 0000000000162f76: e3c0f0a80004      lg      %r12,168(%r15)
                    0000000000162f7c: 58000370          l       %r0,880
                   #0000000000162f80: c007ffffffff00    xilf    %r0,4294967295
                   >0000000000162f86: ba102000          cs      %r1,%r0,0(%r2)
                    0000000000162f8a: 1211              ltr     %r1,%r1
                    0000000000162f8c: a774002f          brc     7,162fea
                    0000000000162f90: b904002d          lgr     %r2,%r13
                    0000000000162f94: b904003a          lgr     %r3,%r10
3.465597 Call Trace:
3.465599 (<0400000000000000> 0x400000000000000)
3.465602  <000000000048c77e> raw3215_wakeup+0x2e/0x40
3.465607  <0000000000134d66> tasklet_action+0x96/0x168
3.465612  <000000000013423c> __do_softirq+0xd8/0x21c
3.465615  <0000000000134678> irq_exit+0xa8/0xac
3.465617  <000000000046c232> do_IRQ+0x182/0x248
3.465621  <00000000005c8296> io_return+0x0/0x8
3.465625  <00000000005c7cac> vtime_stop_cpu+0x4c/0xb8
3.465629 (<0000000000194e06> tick_nohz_idle_enter+0x4e/0x74)
3.465633  <0000000000104760> cpu_idle+0x170/0x184
3.465636  <00000000005b5182> smp_start_secondary+0xd6/0xe0
3.465641  <00000000005c86be> restart_int_handler+0x56/0x6c
3.465643  <0000000000000000> 0x0
3.465645 Last Breaking-Event-Address:
3.465647  <0000000000403136> tty_wakeup+0x46/0x98
3.465652
3.465654 Kernel panic - not syncing: Fatal exception in interrupt
01: HCPGIR450W CP entered; disabled wait PSW 00020001 80000000 00000000 0010F63C

The easiest solution is simply to check if tty is NULL in the tasklet.
If it is NULL nothing is to do (no tty attached), otherwise tty_wakeup()
can be called, since we hold a reference to the tty.
This is not nice... but it is a small patch and it works.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-11-15 16:33:09 +01:00
Alex Deucher b9196395c9 drm/radeon: fix logic error in atombios_encoders.c
Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=50431

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-11-15 09:17:29 -05:00
James Bottomley 949a05d034 [PARISC] fix virtual aliasing issue in get_shared_area()
On Thu, 2012-11-01 at 16:45 -0700, Michel Lespinasse wrote:
> Looking at the arch/parisc/kernel/sys_parisc.c implementation of
> get_shared_area(), I do have a concern though. The function basically
> ignores the pgoff argument, so that if one creates a shared mapping of
> pages 0-N of a file, and then a separate shared mapping of pages 1-N
> of that same file, both will have the same cache offset for their
> starting address.
>
> This looks like this would create obvious aliasing issues. Am I
> misreading this ? I can't understand how this could work good enough
> to be undetected, so there must be something I'm missing here ???

This turns out to be correct and we need to pay attention to the pgoff as
well as the address when creating the virtual address for the area.
Fortunately, the bug is rarely triggered as most applications which use pgoff
tend to use large values (git being the primary one, and it uses pgoff in
multiples of 16MB) which are larger than our cache coherency modulus, so the
problem isn't often seen in practise.

Reported-by: Michel Lespinasse <walken@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-11-15 05:49:34 -08:00
Brian Norris 6924d99fcd mtd: nand: fix Samsung SLC detection regression
This patch fixes errors seen in identifying old Samsung SLC, due to the
following commits:

    commit e2d3a35ee4
    mtd: nand: detect Samsung K9GBG08U0A, K9GAG08U0F ID

    commit e3b88bd604
    mtd: nand: add generic READ ID length calculation functions

Some Samsung NAND with "5-byte" ID really appear to have 6-byte IDs, with
wraparound like:

  Samsung K9K8G08U0D
  ec d3 51 95 58 ec ec d3

  Samsung K9F1G08U0C
  ec f1 00 95 40 ec ec f1

  Samsung K9F2G08U0B
  ec da 10 95 44 00 ec da

This bad wraparound makes it hard to reliably detect the difference
between Samsung SLC with 5-byte ID and Samsung SLC with 6-byte ID.

The fix is to, for now, only use the new Samsung table for MLC. We
cannot support the new SLC (K9FAG08U0M) until Samsung gives better ID
decode information.

Note that this applies in addition to the previous regression fix:

    commit bc86cf7af2
    mtd: nand: fix Samsung SLC NAND identification regression

Together, these patches completely restore the previous detection
behavior so that we cannot see any more regressions in Samsung SLC NAND
(finger crossed). With luck, I can get a hold of a Samsung
representative and stop having to cross my fingers eventually.

Reported-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2012-11-15 15:37:43 +02:00
Brian Norris af451af4e0 mtd: nand: fix Samsung SLC NAND identification regression
A combination of the following two commits caused a regression in 3.7-rc1
when identifying some Samsung NAND, so that some previously working NAND
were no longer detected properly:

    commit e3b88bd604
    mtd: nand: add generic READ ID length calculation functions

    commit e2d3a35ee4
    mtd: nand: detect Samsung K9GBG08U0A, K9GAG08U0F ID

Particularly, a regression was seen on Samsung K9F2G08U0B, with the
following full 8-byte READ ID string:

    ec da 10 95 44 00 ec da

The basic problem is that Samsung manufactures both SLC and MLC NAND
that use a non-standard decoding table for deriving information from
their IDs. I have heuristically determined that all the chips that use
the new table have ID strings which wrap around after the 6th byte.
Unfortunately, I overlooked the fact that some older Samsung SLC (which
use a different decoding table) have "5 byte ID strings" which also wrap
around after the 6th byte.

This patch re-introduces a distinction between these old and new Samsung
NAND by checking that the 6th byte is non-zero, allowing both old and
new Samsung NAND to be detected properly.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Tested-by: Brian Norris <computersforpeace@gmail.com>
Reported-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2012-11-15 15:37:16 +02:00