Commit Graph

168483 Commits

Author SHA1 Message Date
Dirkjan Bussink 4d9b109060 tty: Prevent deadlock in n_gsm driver
This change fixes a deadlock when the multiplexer is closed while there
are still client side ports open.

When the multiplexer is closed and there are active tty's it tries to
close them with tty_vhangup. This has a problem though, because
tty_vhangup needs the tty_lock. This patch changes it to unlock the
tty_lock before attempting the hangup and relocks afterwards. The
additional call to tty_port_tty_set is needed because otherwise the
port stays active because of the reference counter.

This change also exposed another problem that other code paths don't
expect that the multiplexer could have been closed. This patch also adds
checks for these cases in the gsmtty_ class of function that could be
called.

The documentation explicitly states that "first close all virtual ports
before closing the physical port" but we've found this to not always
reality in our field situations. The GPRS / UTMS modem sometimes crashes
and needs a power cycle in that case which means cleanly shutting down
everything is not always possible. This change makes it much more robust
for our situation where at least the system is recoverable with this patch
and doesn't hang in a deadlock situation inside the kernel.

The patch is against the long term support kernel (3.4.27) and should
apply cleanly to more recent branches. Tested with a Telit GE864-QUADV2
and Telit HE910 modem.

Signed-off-by: Dirkjan Bussink <dirkjan.bussink@nedap.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-30 12:10:09 +01:00
John Crispin c420811f11 serial: ralink: adds support for the serial core found on ralink wisoc
The MIPS based Ralink WiSoC platform has 1 or more 8250 compatible serial cores.
To make them work we require the same quirks that are used by AU1x00.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-30 00:15:34 -05:00
Joe Perches 9fe8074b82 TTY: synclink: Convert + to | for bit operations
Dan Carpenter noticed a missing set of parentheses
around a multiple field addition.

https://lkml.org/lkml/2013/1/27/166

His original commit message:

There is a kind of precedence problem here, but it doesn't affect how
the code works because ->serial_signals is unsigned char.  We want to
clear two flags here.

#define SerialSignal_RTS            0x20     /* Request to Send */
#define SerialSignal_DTR            0x80     /* Data Terminal Ready */

Without the parenthesis then it does:

	info->serial_signals &= 0x5f;

With the parenthesis it does:

	info->serial_signals &= 0xffffff5f;

info->serial_signals is an unsigned char so the two statements are
equivalent, but it's cleaner to add the parenthesis.  In other dtr_rts()
functions the parenthesis are there so this makes it more consistent.

Other changes:

Convert all + uses to | for these bit operations.

Reorder the multiple fields for consistency.
Update the comments too.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-30 00:09:58 -05:00
Stephen Chivers abd7bacae6 serial/8250: Add suport for later SUNIX (TIMEDIA) boards.
Add support for later SUNIX (TIMEDIA) Universal PCI Single and Multi-Port
Communications Boards.

These boards have PCI Vendor ID 1fd4 with device ID 1999 but otherwise
appear to be the same as the TIMEDIA boards already supported by 8250_pci
and parport_serial.

Tested with:

	a. the two port serial board part number SER5037A,
	b. the two port serial and one port parallel board part number
	   MIO5079A.

Signed-off-by: Stephen Chivers <schivers@csc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-30 00:08:22 -05:00
Greg Kroah-Hartman 1651d0a9be Revert "n_tty: Unthrottle tty when flushing read buffer"
This reverts commit 58f82be334.

This was fixed by a previous patch already.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-29 23:35:35 -05:00
Greg Kroah-Hartman 9f9cba810f Merge 3.8-rc5 into tty-next
This resolves a number of tty driver merge issues found in linux-next

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25 13:27:36 -08:00
Venu Byravarasu dbf5bef8da serial: tegra: Fix compilation error
Fix compilation error, by adding the correct header file
for Tegra clocks.

Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25 08:52:24 -08:00
Yi Zhang 9429ccbf38 serial: pxa: fine-tune clk useage
1) add clk_enable/disable in serial_pxa_console_write()
2) add clk_prepare() to follow common clock driver

Signed-off-by: Yi Zhang <yizhang@marvell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25 08:52:23 -08:00
Liang Li e8c5b56fdc serial: pch_uart: fix sysrq handling for pch_uart
When PCH_UART_CONSOLE and SERIAL_CORE_CONSOLE is not set neither, the
uart_port will have no 'sysrq' member hence their will need a '#ifdef'
in pch_uart.c to handle the case, otherwise we'll see compile error
like this:

  CC [M]  drivers/tty/serial/pch_uart.o
drivers/tty/serial/pch_uart.c: In function 'pch_uart_hal_read':
drivers/tty/serial/pch_uart.c:572:11: error: 'struct uart_port' has no member named 'sysrq'
make[4]: *** [drivers/tty/serial/pch_uart.o] Error 1

Reported-by: Randy Dunlap <rdunlap@infradead.org>
CC: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Liang Li <liang.li@windriver.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25 08:52:23 -08:00
Karthik Manamcheri 58f82be334 n_tty: Unthrottle tty when flushing read buffer
When the tty input buffer is full and thereby throttled,
flushing/resetting the read buffer should unthrottle to allow more
data to be received.

Signed-off-by: Karthik Manamcheri <Karthik.Manamcheri@ni.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25 08:52:23 -08:00
Alan Cox ebcf09816c goldfish: move to tty_port for flip buffers
Sorry forgot to merge this in the original submission. Resync
with the tty tree changes moving the buffers into the tty_port

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25 08:09:38 -08:00
Linus Torvalds 1496ec13a1 ARM: arm-soc: Fixes for 3.8-rc, take 2
Here's a long-pending fixes pull request for arm-soc (I didn't send one
 in the -rc4 cycle).
 
 The larger deltas are from:
 - A fixup of error paths in the mvsdio driver
 - Header file move for a driver that hadn't been properly converted to
   multiplatform on i.MX, which was causing build failures when included
 - Device tree updates for at91 dealing mostly with their new
   pinctrl setup merged in 3.8 and mistakes in those initial configs
 
 The rest are the normal mix of small fixes all over the place; sunxi,
 omap, imx, mvebu, etc, etc.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRAV2RAAoJEIwa5zzehBx32N0P/AsFOLaVWjuvf3kBZTaZgp3J
 jZjhmAfJ2dQCITA792U2bI0d+gPiXm49EY3KWaNdb7S2UmQ1MwXHhKOwOQSVXli0
 j+qAgVUa4nSsi3FQesKS0zThG/Xr+RsyiJZ2dHu71hendJu5NB1O1hzO4hDEHkMc
 K8NGglKjtGirEiLIoub9ag8E9k5sd8X4nulrEJclon1BoolPcef18Bs96tdPmq/o
 Ss634vBqhzSE8OInFc6RDNzTSM52zXbornr/5xGAvFqQv6L0rSXHPvjeeWVdNjj1
 aNqkOrQOAHWRwTcyHOR0GdJfuAPSUwF+JkBWcUbgmsda7XunFiSb5tKV3FSVbJfN
 pMFvbg/iK+ByhWq8iAOkT7OP64wi++FlOFa39IAiQ1QPRD0j93OlKMp0LjqEEiKd
 Gw8o3X03GWhqoJUlSz40TF0Pvkje1UTk2Y8k2y24I3AnnEAcO5x+5pZYUTOe6x5N
 THqqSMsdKWIibrQJRuOXll/DkS8zcepTHU7o8hyHBKYh7LxdAs4ITQoYZjcU5lse
 HGwldByKfuNlzF3+96Jh9wZsr/9zjD8yovEcQYk37s56T/b7kT0sQm6XGS1dFE8Q
 xQgcXLEUXZLt/79B0bn/5ogh26xswx/3GHgNjL1tJQc/MhbQ6C0bb2bBVoU21qzq
 I5yMMwNSkH8+7+PGPiaQ
 =YDHs
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Olof Johansson:
 "Here's a long-pending fixes pull request for arm-soc (I didn't send
  one in the -rc4 cycle).

  The larger deltas are from:

   - A fixup of error paths in the mvsdio driver

   - Header file move for a driver that hadn't been properly converted
     to multiplatform on i.MX, which was causing build failures when
     included

   - Device tree updates for at91 dealing mostly with their new pinctrl
     setup merged in 3.8 and mistakes in those initial configs

  The rest are the normal mix of small fixes all over the place; sunxi,
  omap, imx, mvebu, etc, etc."

* tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
  mfd: vexpress-sysreg: Don't skip initialization on probe
  ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
  ARM: vexpress: extend the MPIDR range used for pen release check
  ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
  ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
  ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
  ARM: at91/dts: add macb mii pinctrl config for kizbox
  ARM: at91: rm9200: remake the BGA as default version
  ARM: at91: fix gpios on i2c-gpio for RM9200 DT
  ARM: at91/at91sam9x5 DTS: add SCK USART pins
  ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
  ARM: at91/at91-pinctrl documentation: fix typo and add some details
  ARM: kirkwood: fix missing #interrupt-cells property
  mmc: mvsdio: use devm_ API to simplify/correct error paths.
  clk: mvebu/clk-cpu.c: fix memory leakage
  ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
  ARM: OMAP2+: DT node Timer iteration fix
  ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
  ARM: OMAP2+: fix build break for omapdrm
  ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
  ...
2013-01-24 12:42:50 -08:00
Linus Torvalds ba2ab41f3d ACPI and power management fixes for 3.8-rc5
* Two cpuidle initialization fixes from Konrad Rzeszutek Wilk.
 
 * cpufreq regression fixes for AMD processors from Borislav Petkov,
   Stefan Bader, and Matthew Garrett.
 
 * ACPI cpufreq fix from Thomas Schlichter.
 
 * cpufreq and devfreq fixes related to incorrect usage of operating
   performance points (OPP) framework and RCU from Nishanth Menon.
 
 * APEI workaround for incorrect BIOS information from Lans Zhang.
 
 /
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABAgAGBQJRASzdAAoJEKhOf7ml8uNsFiEP/RTaeCDutxTHNhcYRIx6MXcU
 rFtUbWnSLxGbMjtxgQaPRFihMxmOC775609433v+T/DDvyNoqGqUdN7y+P5tBUFh
 TXxV/1hmsjAyeYITq1dhCci8ESrdOmESA+i4V/wRPFqKPkQy5yrnvhqfMejrVXy7
 CaYrglcALO5tmfwQ2qKcOLXYQE52L2WW1PenvxIZWkcI6ck9kKYg63Roswbek3K9
 gMzx/QSlFbzrOcJfDlcPsHqCUlsvh5QV3TfGObYOejZe/BgZndKrJgLJ+9uEUmof
 J5wNlF2cxlQ0ggFidX53eoynAiAGC/kdXA7UOzGVbTpEVgt1r3KdlmRqfF6V3tpf
 N85GnMk7QBNK66sQM48i2Q+wwOkFj0Pq9LJ8KpT9MtoirzBHDXcLK9CgsL/JCqnV
 /cmpXOiLoDpG+kmp4Fr3MDU55FqFkvLDpvPkIdZ3zBXRGv+DUvAZjl4TGeBMt2WL
 LhU812RrRRBrqxo/mhRnSgIv6feQlrjCdDskC/Ra8NJrghyGpoEppe3JOvwdH8RF
 suuRkwvE/Y81xi28WLvIp5Jth4/svhFPoXWeAXcV/apbvi9a6TB97losAiI9gFdH
 NONT+/v4RjKrKZXS/zSqNrttG4dhey/Y18FgIAXLfwz7aUmE5XdcX0wQw0Ev8uBv
 ESASwLtkH2BlkTVPyec5
 =EEk8
 -----END PGP SIGNATURE-----

Merge tag 'pm+acpi-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI and power management fixes from Rafael Wysocki:

 - Two cpuidle initialization fixes from Konrad Rzeszutek Wilk.

 - cpufreq regression fixes for AMD processors from Borislav Petkov,
   Stefan Bader, and Matthew Garrett.

 - ACPI cpufreq fix from Thomas Schlichter.

 - cpufreq and devfreq fixes related to incorrect usage of operating
   performance points (OPP) framework and RCU from Nishanth Menon.

 - APEI workaround for incorrect BIOS information from Lans Zhang.

* tag 'pm+acpi-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  cpufreq: Add module aliases for acpi-cpufreq
  ACPI: Check MSR valid bit before using P-state frequencies
  PM / devfreq: exynos4_bus: honor RCU lock usage
  PM / devfreq: add locking documentation for recommended_opp
  cpufreq: cpufreq-cpu0: use RCU locks around usage of OPP
  cpufreq: OMAP: use RCU locks around usage of OPP
  ACPI, APEI: Fixup incorrect 64-bit access width firmware bug
  ACPI / processor: Get power info before updating the C-states
  powernow-k8: Add a kconfig dependency on acpi-cpufreq
  ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled
  intel_idle: Don't register CPU notifier if we are not running.
2013-01-24 10:19:13 -08:00
Linus Torvalds bff92411eb regmap: Fixes for v3.8
One more oversight in the debugfs code was reported and fixed, plus a
 documentation fix.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJRARV/AAoJELSic+t+oim9zE0QAICfs9wBiHPFLfjDUeGbta2F
 3f1JRJ995oI8kA9JDujV2291XBCr690MCr/dpp6l19L7n3grzsPM3Oux+VuI0YQz
 XxQUI9OSIq4A/Q9sP8hrbd+KPrn69aLjHAK4R4Rz3FtGaUuLb6sWrYL7xDNi3Cyr
 mAZ5r//Wj8Z6PtjJdgLPN92k5X/EkIbO9A8BVUXX2Y2uVB3OeqWuJkFKqCZz2ha7
 TheMW95hScsdeNKCpoPZCUD1r0tQ07U08q+poo4lTWBOxSv9JVw0HsZMVB0UpOG1
 9q6NnX25zYRFIZnbBf2yjqz1Vf4JrRAjskidAVSCqFyaYjndRbsEnEJCXsrO3188
 4luBgQYu4XN/1B3IgqyEdA3XjfSJRkZBfw/lB3k/EB1FmaZYg9jfwvhrDQOVLXYN
 0Kaw4ZEwKu/B425adB2I13F4WEQzdqw8Fxl9rpS+HRTAJmoy7LZ91NskxwC4TemG
 QAt3brOccwWj/4PUrYu4IIbfyOtnuQmDQ9K5XQYXdq1j4WV91bxo5y+FekHKCNcB
 fSceA7vAXHeP/VUlylG+LNk/NGuoCh7I2b9NLEHe8HO2ytpUfWICtJrhvKCPJNSL
 NC60aZsa7nYKEq/g0u5xszlH2uNGvO2rWVGIVI59XmJbKMsCAjhw8kSmmPicbKor
 iALHcn/cd8DiZC8+SXMw
 =O6T4
 -----END PGP SIGNATURE-----

Merge tag 'regmap-fix-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap fixes from Mark Brown:
 "One more oversight in the debugfs code was reported and fixed, plus a
  documentation fix."

* tag 'regmap-fix-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: fix small typo in regmap_bulk_write comment
  regmap: debugfs: Fix seeking from the cache
2013-01-24 10:18:37 -08:00
Linus Torvalds 3f58e0945e Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine fixes from Vinod Koul:
 "A few fixes on slave dmanengine.  There are trivial fixes in imx-dma,
  tegra-dma & ioat driver"

* 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
  dma: tegra: implement flags parameters for cyclic transfer
  dmaengine: imx-dma: Disable use of hw_chain to fix sg_dma transfers.
  ioat: Fix DMA memory sync direction correct flag
2013-01-24 10:17:49 -08:00
Linus Torvalds acc5da0f9d Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux
Pill i2c fixes from Wolfram Sang:
 "Here are a few, typical driver fixes for the I2C subsystem"

* 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
  i2c-designware: add missing MODULE_LICENSE
  i2c: omap: fix draining irq handling
  i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt
  i2c: muxes: fix wrong use of sizeof(ptr)
  i2c: sirf: register i2c_client from dt child-nodes in probe entry
  i2c: mxs: Fix type of error code
  i2c: mxs: Fix misuse init_completion
2013-01-24 10:17:03 -08:00
Olof Johansson 3836414f45 Merge branch 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux into fixes
From Pawel Moll:
- makes the V2P-CA15_A7 (a.k.a. TC2) work with 3.8 kernels
- improves vexpress-sysreg.c behaviour on arm64 platforms

* 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux:
  mfd: vexpress-sysreg: Don't skip initialization on probe
  ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
  ARM: vexpress: extend the MPIDR range used for pen release check
2013-01-24 08:12:24 -08:00
Pawel Moll 52666298ae mfd: vexpress-sysreg: Don't skip initialization on probe
The vexpress-sysreg driver does not have to be initialized
early, when the platform doesn't require this. Unfortunately
in such case it wasn't initialized correctly - master site
lookup and config bridge registration were missing. Fixed now.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
2013-01-24 12:19:23 +00:00
Mark Brown af4ca6a808 Merge remote-tracking branch 'regmap/fix/debugfs' into tmp 2013-01-24 19:04:16 +08:00
Olof Johansson 4ad3041d3b This is yet another critical imxfb fixes held off by absence of FB
maintainer for some time.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ/qTBAAoJEFBXWFqHsHzOnNcH/0F8Ul4CJLS/+K80UaJDn7RQ
 Di+4zPi/7foByJEUdTC9jDetHREPMeRLX2hzR+2XK+zCtrFPV8VAw4crdxOmLRYb
 CxlTuMVA2R68NwvH1+PqTvuiJ6Qxr0HZHzmQdj+x8hWgRkD0RRoD/KQVbkrp8OKh
 jJICgd3BXe9GTJszqK13Gj4VOfZvF9YyYDKAiKojfEOV3PyJTdnMBYGGQUD+6FHE
 YxfG2xVUh/diFGpWxC5DLQdZ2ow+/7ruPTG+FifVGMcdqYI/KZ/l6cHiHNcFJcQs
 6isObI8LeZ87kWJpM/cylqkzyyRGwg12jlFup22CBQCRyWgrgnGNVdoVBuffKJ0=
 =Bup/
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-3.8-3' of git://git.linaro.org/people/shawnguo/linux-2.6 into fixes

From Shawn Guo:

This is yet another critical imxfb fixes held off by absence of FB
maintainer for some time.

* tag 'imx-fixes-3.8-3' of git://git.linaro.org/people/shawnguo/linux-2.6:
  video: imxfb: Do not crash on reboot
2013-01-23 20:35:02 -08:00
Olof Johansson f6be19c8bc mvebu fixes for v3.8-rc5
- fix memory leak in mvebu/clk-cpu.c
  - use devm_ to correct/simplify error paths in mvsdio
  - add missing #interrupt-cells property in kirkwood
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ/zvKAAoJEAi3KVZQDZAebCIIAKCaI3zYiHku7Q52Auzog0oU
 7Gk6/TpZtolZURusjSVo8ZPWoZhJc9SoFAVkVJPcB9j1xTl3K7iNVOj4DVvi66o2
 R8dw85nTKryBc6kapiJEpQhJof9dQKzmNSL36TNLaHjPef/hz3gVn/QqOxmyuBro
 ZZI0aUm+idgaDFkQCuevcfuStQGaKdOsIr23QEbicTj0rbgy0OIKrQ2KxFGKnr0Z
 YYYjUr9M5wk1mSOsssEcE/a97eejHS201JhYvCfxSpWCjbwiaErg0fzns7wZ2hhV
 BKGAEs+M67gcaHR/Pi2fy3LNLtwIcVNNgFYF3aCiBEFQ+hqtar6O9zqSmlBk1bI=
 =xOtK
 -----END PGP SIGNATURE-----

Merge tag 'mvebu_fixes_for_v3.8-rc5' of git://git.infradead.org/users/jcooper/linux into fixes

From Jason Cooper:

mvebu fixes for v3.8-rc5
 - fix memory leak in mvebu/clk-cpu.c
 - use devm_ to correct/simplify error paths in mvsdio
 - add missing #interrupt-cells property in kirkwood

* tag 'mvebu_fixes_for_v3.8-rc5' of git://git.infradead.org/users/jcooper/linux:
  ARM: kirkwood: fix missing #interrupt-cells property
  mmc: mvsdio: use devm_ API to simplify/correct error paths.
  clk: mvebu/clk-cpu.c: fix memory leakage
2013-01-23 20:30:52 -08:00
Linus Torvalds ff7532ca2c more USB fixes for 3.8-rc4
Here are some more USB fixes for the 3.8-rc4 tree.
 
 Some gadget driver fixes, and finally resolved the ehci-mxc driver build issues
 (it's just some code moving around and being deleted).
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iEYEABECAAYFAlEAeCEACgkQMUfUDdst+ynRygCeNs8Z0Nt+/quZHKf+/DS4vlRt
 vBYAnAxbcPg1zWhMM+8AVt/YFYp83sfP
 =5UpK
 -----END PGP SIGNATURE-----

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

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

  Some gadget driver fixes, and finally resolved the ehci-mxc driver
  build issues (it's just some code moving around and being deleted)."

* tag 'usb-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  USB: EHCI: fix build error in ehci-mxc
  USB: EHCI: add a name for the platform-private field
  USB: EHCI: fix incorrect configuration test
  USB: EHCI: Move definition of EHCI_STATS to ehci.h
  USB: UHCI: fix IRQ race during initialization
  usb: gadget: FunctionFS: Fix missing braces in parse_opts
  usb: dwc3: gadget: fix ep->maxburst for ep0
  ARM: i.MX clock: Change the connection-id for fsl-usb2-udc
  usb: gadget: fsl_mxc_udc: replace MX35_IO_ADDRESS to ioremap
  usb: gadget: fsl-mxc-udc: replace cpu_is_xxx() with platform_device_id
  usb: musb: cppi_dma: drop '__init' annotation
2013-01-23 20:11:35 -08:00
Linus Torvalds ae763db4ce MISC driver fix for 3.8-rc4
Here is a single revert for the ti-st misc driver, fixing problem that was
 introduced in 3.7-rc1 that has been bothering people.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iEYEABECAAYFAlEAdxcACgkQMUfUDdst+ynQOgCgmsqcz6DaKFQpcMNKEl/6GWz2
 KA4AoNYW3uSDQn1TUbuKmoJSN/SYALK4
 =xqHP
 -----END PGP SIGNATURE-----

Merge tag 'char-misc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull drivers/misc fix from Greg Kroah-Hartman:
 "Here is a single revert for the ti-st misc driver, fixing problem that
  was introduced in 3.7-rc1 that has been bothering people."

* tag 'char-misc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  Revert "drivers/misc/ti-st: remove gpio handling"
2013-01-23 20:10:48 -08:00
Linus Torvalds 2116e02a96 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media fixes from Mauro Carvalho Chehab:
 - gspca: add needed delay for I2C traffic for sonixb/sonixj cameras
 - gspca: add one missing Kinect USB ID
 - usbvideo: some regression fixes
 - omap3isp: fix some build issues
 - videobuf2: fix video output handling
 - exynos s5p/m5mols: a few regression fixes.

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  [media] uvcvideo: Set error_idx properly for S_EXT_CTRLS failures
  [media] uvcvideo: Cleanup leftovers of partial revert
  [media] uvcvideo: Return -EACCES when trying to set a read-only control
  [media] omap3isp: Don't include <plat/cpu.h>
  [media] s5p-mfc: Fix interrupt error handling routine
  [media] s5p-fimc: Fix return value of __fimc_md_create_flite_source_links()
  [media] m5mols: Fix typo in get_fmt callback
  [media] v4l: vb2: Set data_offset to 0 for single-plane output buffers
  [media] [FOR,v3.8] omap3isp: Don't include deleted OMAP plat/ header files
  [media] gspca_sonixj: Add a small delay after i2c_w1
  [media] gspca_sonixb: Properly wait between i2c writes
  [media] gspca_kinect: add Kinect for Windows USB id
2013-01-23 20:07:12 -08:00
Alan Stern dba63b2f73 USB: EHCI: fix build error in ehci-mxc
This patch (as1643b) fixes a build error in ehci-hcd when compiling for
ARM with allmodconfig:

drivers/usb/host/ehci-hcd.c:1285:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
drivers/usb/host/ehci-hcd.c:1255:0: note: this is the location of the previous definition
drivers/usb/host/ehci-mxc.c:280:31: warning: 'ehci_mxc_driver' defined but not used [-Wunused-variable]
drivers/usb/host/ehci-hcd.c:1285:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
drivers/usb/host/ehci-hcd.c:1255:0: note: this is the location of the previous definition

The fix is to convert ehci-mxc over to the new "ehci-hcd is a library"
scheme so that it can coexist peacefully with the ehci-platform
driver.  As part of the conversion the ehci_mxc_priv data structure,
which was allocated dynamically, is now placed where it belongs: in
the private area at the end of struct ehci_hcd.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-23 11:27:08 -08:00
Luciano Coelho a7e2ca1703 Revert "drivers/misc/ti-st: remove gpio handling"
This reverts commit eccf2979b2.

The reason is that it broke TI WiLink shared transport on Panda.
Also, callback functions should not be added to board files anymore,
so revert to implementing the power functions in the driver itself.

Additionally, changed a variable name ('status' to 'err') so that this
revert compiles properly.

Cc: stable <stable@vger.kernel.org> [3.7]
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 17:22:47 -08:00
Andrew Lunn f42abc72da mmc: mvsdio: use devm_ API to simplify/correct error paths.
There are a number of bugs in the error paths of this driver.  Make
use of devm_ functions to simplify the cleanup on error.

Based on a patch by Russell King.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-01-23 01:08:01 +00:00
Cong Ding d6f620a457 clk: mvebu/clk-cpu.c: fix memory leakage
the variable cpuclk and clk_name should be properly freed when error happens.

Signed-off-by: Cong Ding <dinggnu@gmail.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-01-23 01:06:52 +00:00
Linus Torvalds 1d85490853 PCI updates for v3.8:
Hotplug
       PCI: pciehp: Use per-slot workqueues to avoid deadlock
       PCI: shpchp: Make shpchp_wq non-ordered
       PCI: shpchp: Handle push button event asynchronously
       PCI: shpchp: Use per-slot workqueues to avoid deadlock
   Power management
       PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported
   Misc
       PCI/AER: pci_get_domain_bus_and_slot() call missing required pci_dev_put()
       PCI: remove depends on CONFIG_EXPERIMENTAL
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ/vtQAAoJEPGMOI97Hn6zR+EP/0yvgixQauWTJPmcxdfLeklo
 TfgrjntnsWvUM0ltQxQwq4yi+kBQLp2KDK4/A8w50vJTdN3DeXJ5u27pafpgkac0
 TsySRuYMYKqE/rzGDG3QSVKO3NCCn99AfGAweM5gqzMClPfEcyKZr3wFV1BdEC4e
 tTbALJJp4hAZwrS+Flhfpkx26kEQgXSb8k4IqoFvAeZn7zZcdeYjl+vZhAQUTcjK
 QNBkOvzNEGDkfluVKcfFfgJhmeaDBUUf6o+f0W6XOAflGhyE8TxfsUJA9Mxc4r2S
 1jOVdR/emJ0rC8UvPYROfGWgPTH+4Cv1bKdFHxh3FpHeWb3QmzeXEtoxLahdW3zM
 kPA6PLjZ/VU3ZCoPl6KO4QaBlc21ouK6R3kHZ7FssoUN10o9tQAJpaMdPkGFMGbB
 rZaCupngUOr3ildknrNgncewpeuFAbMKa8xTSVF/j75dhUFijapLV7Tw9HHDQlio
 WNfkmL7OnyDibpSu+nHgZII0UvOQreKdrQvtGxbbZhgeyavYobkAlagjtbYuNX0e
 5dw5bLpoFJgSnFNgatwQhFSReYGhpqKs6287ZPfJItCtwZzbBHxstERjL/J2wGL1
 45/q1U6u/HOSfqXgXkHpiGBNdzA5oLD2v0uFGgJNbeVRGlFIe1f050TA8MjzI3xP
 WmIRrYQCEaRlbpGTHA9B
 =lhvi
 -----END PGP SIGNATURE-----

Merge tag '3.8-pci-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI updates from Bjorn Helgaas:
 "The most important is a fix for a pciehp deadlock that occurs when
  unplugging a Thunderbolt adapter.  We also applied the same fix to
  shpchp, removed CONFIG_EXPERIMENTAL dependencies, fixed a
  pcie_aspm=force problem, and fixed a refcount leak.

  Details:

   - Hotplug
      PCI: pciehp: Use per-slot workqueues to avoid deadlock
      PCI: shpchp: Make shpchp_wq non-ordered
      PCI: shpchp: Handle push button event asynchronously
      PCI: shpchp: Use per-slot workqueues to avoid deadlock

   - Power management
      PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported

   - Misc
      PCI/AER: pci_get_domain_bus_and_slot() call missing required pci_dev_put()
      PCI: remove depends on CONFIG_EXPERIMENTAL"

* tag '3.8-pci-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI: remove depends on CONFIG_EXPERIMENTAL
  PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported
  PCI: shpchp: Use per-slot workqueues to avoid deadlock
  PCI: shpchp: Handle push button event asynchronously
  PCI: shpchp: Make shpchp_wq non-ordered
  PCI/AER: pci_get_domain_bus_and_slot() call missing required pci_dev_put()
  PCI: pciehp: Use per-slot workqueues to avoid deadlock
2013-01-22 16:36:23 -08:00
Matthew Garrett efa1719458 cpufreq: Add module aliases for acpi-cpufreq
The acpi core will call request_module("acpi-cpufreq") on subsystem init,
but this will fail if the module isn't available at that stage of boot.
Add some module aliases to ensure that udev can load the module on Intel
and AMD systems with the appropriate feature bits - I /think/ that this
will also work on VIA systems, but haven't verified that.

References: http://lkml.kernel.org/r/1448223.sdUJnNSRz4@vostro.rjw.lan
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Tested-by: Leonid Isaev <lisaev@umail.iu.edu>
Acked-by: Borislav Petkov <bp@suse.de>
Cc: 3.7+ <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 22:33:46 +01:00
Linus Torvalds b75b25b00d GPIO fixes for the v3.8 series:
- Remove a bad #include from the Samsung driver
 - Some Kconfig hazzle for the Samsungs
 - Skip gpiolib registration on EXYNOS5440
 - Don't free the MVEBU label
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ/ltzAAoJEEEQszewGV1z/IwP/0caelXLbBS7vC2cjLHpQuXA
 AdmXJUGcOSRaQ31CzZnGpBp0EvQliz52YtKWTbMBsQHAXs0pMqBshiDXDIczTY18
 chlI7sTHyI6Kkeu6pRwbbFrY5rjFxXyv2MY3hTqithKDt+Ma+uGfoDPzFU2hLtkf
 m1N1TFXq1WxEnjQuQhIywSvVihnSz6F25S9UrUlZi/QNiyHn5wmS2UsJfyVYXAsD
 33M/+epzj9x4OdopSZJUq7zffegOTDBspYtdE9/K3SqLz7GusmArcx5sR+fRm/TV
 N3/8y2rpdvh5m+ftIjtl1L5PDZST4eSwWFdsie0vXhuAOJ/PsPYhk7OTstB4qO0R
 BgxcaN/GpFZABhzMkcJZnqx+c2YM/mVjmBKSGy1pSnEoLvEFrZ3sr2PVYtbk6I2h
 dgLXcruLzmpg04nTbjCAK5gvT3Inr7z381AHYiIs/Fl8fkWNNyQV6QvEX8zeKkkv
 tiE/FVo7ESeYxRkrW+fWJ5ADnCuWPhWDRH0iTFEDoxCoJVjuxzNXdpiGaCNVyR6M
 YThRKnc19pUtuiuTivNLUvEyfyFHKg1dmQ0fiQ8qa47SXwm/FPv1N0xbawZQLqgp
 2K0Go3rn1NGHahjf0aI7YVVRaFDtu7WXAB9N2xm5WpFJOWJo/f8qQ1FdRDDGA5oV
 h5vor6GrJgaq9fA9XTjx
 =N1rq
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-v3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

Pull GPIO fixes from Linus Walleij:
 "Here are some GPIO fixes I stacked up in my GPIO tree:

   - Remove a bad #include from the Samsung driver
   - Some Kconfig hazzle for the Samsungs
   - Skip gpiolib registration on EXYNOS5440
   - Don't free the MVEBU label"

* tag 'fixes-for-v3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
  gpio: mvebu: Don't free chip label memory
  gpio: samsung: skip gpio lib registration for EXYNOS5440
  gpio: samsung: silent build warning for EXYNOS5 SoCs
  gpio: samsung: fix pinctrl condition for exynos and exynos5440
  gpio: samsung: remove inclusion <mach/regs-clock.h>
2013-01-22 11:52:23 -08:00
Olof Johansson 51edce0cce Minimal omap fixes for the -rc series:
- A build fix for recently merged omap DRM changes
 
 - Regression fixes from the common clock framework conversion
   for omap4 audio and omap2 reboot
 
 - Regression fix for pandaboard WLAN control UART muxing caused by
   u-boot only muxing essential pins nowadays
 
 - Timer iteration fix for CONFIG_OF_DYNAMIC
 
 - A section mismatch fix for ocp2scp init
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ/uNtAAoJEBvUPslcq6VzB5YP/jG2EiMhC3BeeBDQx8aeslM1
 JISbenieULnJFxJ3DwaEIdrfIkdhr7mdLL+72DNmAru21JlOOQUzzQy7v2HzYXzO
 O1kp2v6NXZ4/pNa0gRJrxUkf0yJalNsTTJMbakwkR5XJAUx6SPNQg1be1r24Ho0B
 G7FuGDSqv7pjdfEXP9NYW+PRtqcWU5Fh34YVIwn6rITlzf16/4xLW20dANPfVDlh
 QNuYWtZwgHBTiUnaurTUR1LgLr8lp1/bMSEbMGFixPgMZpIiEKalpWrboH76JofE
 osFII7LZV5XUfQP5f0KhRrCBQ292lzuFCDUwmcnYC1yK/XY/XcVNSyj4Xcfb4Kqb
 QXTIH9ryxCrMUXgoT3aYHGpKthnxDnyP6SwSlCzmdixWyovmqI1U4cW/qRFkL5In
 0L9suw2+nxkiPCPX0glHvteZqiPI0sq8ZxrFEiqhFxqQ2Y1r5L5tQJ/NMxHbohPt
 hu4CILApIKrCiaFeAmN2/q8Ho69wacnxVqIkVf///B9UnenrZ9wEm8k00aXk6Kop
 CbtHxQKpWJu87a2IVc9Fo6Cm63o9eHt+Z98iFy5yyEEVQRKCZ8bbCoIvt7WLXsTN
 cQ3/ZmK/XTETKNN08JsZ54VrJzZMW0RuXi2bMZpTygpEUpbEs9L5kLGZCzlf9kS5
 M2IFN8e2yDb0ljzR7wFf
 =GTdk
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.8-rc4/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

From Tony Lindgren:
Minimal omap fixes for the -rc series:

- A build fix for recently merged omap DRM changes

- Regression fixes from the common clock framework conversion
  for omap4 audio and omap2 reboot

- Regression fix for pandaboard WLAN control UART muxing caused by
  u-boot only muxing essential pins nowadays

- Timer iteration fix for CONFIG_OF_DYNAMIC

- A section mismatch fix for ocp2scp init

* tag 'omap-for-v3.8-rc4/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (306 commits)
  ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
  ARM: OMAP2+: DT node Timer iteration fix
  ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
  ARM: OMAP2+: fix build break for omapdrm
  ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
  ARM: OMAP4: hwmod_data: Correct IDLEMODE for McPDM
  ARM: OMAP4: clock data: Lock ABE DPLL on all revisions
  + Linux 3.8-rc4

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-22 11:20:29 -08:00
Linus Torvalds 3c2a9f84e9 vfio fixes for v3.8-rc5
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ/cZWAAoJECObm247sIsibDUP/jyFstqk8Nhg99qJvecoI7RA
 9x7IpKpV1xDQfOeQZWf+5NXQwr/OBBApEYN7VNun3rBZJxuGNKzJSnMaAJWy+8qW
 J1rNzw/O49fejECVfYBDUvEV1WC9F/zUIcGOXYcyU0ZDT/3lAC7ZzVKY1l4hWgqx
 dL3BOhPPpvgQN3otUQnGK/7sVjptjl4ks8js7GFlbmQnv86GyqjB0DBzy1/xZrFO
 E59LK8FZup3Vs3UrkI8A3Op3E6YkNiZKBkCrjduHNFHfFwjcv8vRZHYB2BJCm69j
 2HmcQWLVjZPdlkyjLgiJ10S7ZBTc/bjXZeq30cuwJalI0kcdKaD6f00qG12qZOce
 p15oXI68hXsK9JTYUHBQrbjGhIKAfkcmJQB0Q+JDF56Zi1x9LMzmQ/BK/5yq8uWQ
 Y3jm8krAuoU/Y49MiExEM2MuVh06ftHOcTICuZj2M2d2gR8mCGE7l7F7BgHmFaDc
 MdyUELJ1L6kTvqMREI8i14ZG77KEfMRnu6KI0w0kIyjUt4CApAwCfe/HpNicfP/N
 nSMbRonwm8myuEX3uPKauTxRrKklRGLlxS7LrrlawsVMki+FhxNq8vZkZfkjuFaW
 fZxgt+dj0+JsOYej6y+6+CmYA7TXcXt0svOAqCCthEVgPAkWA2RraBA3YsSW1Ste
 GnnnFaWcddPo4gB9Z70g
 =nRaP
 -----END PGP SIGNATURE-----

Merge tag 'vfio-for-v3.8-rc5' of git://github.com/awilliam/linux-vfio

Pull vfio fix from Alex Williamson.
 "vfio-pci: Fix buffer overfill"

* tag 'vfio-for-v3.8-rc5' of git://github.com/awilliam/linux-vfio:
  vfio-pci: Fix buffer overfill
2013-01-22 10:31:57 -08:00
Linus Torvalds 0944c0a034 1) ahci: Fix typo that caused erronenous error handling.
Thought:  I wonder if sparse could have caught this, somehow.
 
 2) ahci: support a slightly odd Enmotus variant
 
 3) core: fix a drive detection problem by correcting the logic
    by which the DevSlp timing variables are obtained and used.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIVAwUAUP2a/CWzCDIBeCsvAQJBhA/+JowfM2CKII3+k4Kq2UbaR+uJHALABtxh
 rRWBana8ESxoXuY6Usylkdms5fQamp3r/YB29ZzUw3nsHP4u9Y4L2+NIYryXPYll
 xNeg9tI/y2ypC8wNnXQIrbvYGH303BqyBpUTQ7qfQ+zrKq9qSg9vTBC9rbGE6YdM
 sR8gcz1wuY3eFeEw2FXHyWWnXTmB4/UmgISjJL13c9rJoQpK4k1svhUnPAqSM8RZ
 IB4z4NUne1REvpDdhyIIi5hGeOFtULMtEdjIxNuHNmQXgi6Q225qDNS4afhEQLVu
 lf6VLMYmMziNYNhyQDl1Vw82/zics01u9HOnCpfs/De+6DE4DeH9z0wG9Hz35YHZ
 6ZcSQPLVk8/Jfp2jSsovc3h51o6W3DavuJxvs9EC1gyhDpPnYPPBOgiVPkb/km1n
 hoBBIKqwFrV8MzpbUgSqlrWRlQ4Mco95l/Nwnr9mWe1CV81dYRXQ0cH2WYjveigy
 tpbKgpDiEMpmUHT9rUX5AXMdv6JczMY6mP+FGmOeBio8hG0uozaZYCczbQAX9PD4
 UFkqms0C9C/SH1k3LJWkSZaxwupCZpvEyXu1RezcJsv0qObfrbnGxtSG4lBdv0x/
 SlSMLQRG7cE9la9amEwzqhUQXbS/rPcpZ8GK+2Qjhb36qO5GJpgUUEp+izfHcy4v
 ATS8puL+GhQ=
 =7WDW
 -----END PGP SIGNATURE-----

Merge tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

Pull libata fixes from Jeff Garzik:

 1) ahci: Fix typo that caused erronenous error handling.

    Thought: I wonder if sparse could have caught this, somehow.

 2) ahci: support a slightly odd Enmotus variant

 3) core: fix a drive detection problem by correcting the logic by which
    the DevSlp timing variables are obtained and used.

* tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] replace sata_settings with devslp_timing
  [libata] ahci: Add support for Enmotus Bobcat device.
  [libata] ahci: Fix lack of command retry after a success error handler.
2013-01-22 10:10:34 -08:00
Michal Simek eb51d917a7 serial: xilinx_uartps: Remove leftover __exit_p()
__exit_p() need to be removed after the __devexit
removal from the driver.

Warning log:
drivers/tty/serial/xilinx_uartps.c:996:12:
warning: 'xuartps_remove' defined but not used [-Wunused-function]

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 09:25:33 -08:00
channing aea95548c0 serial:ifx6x60: Remove memset for SPI frame
There is no need to memset 0 to SPI frame memory before preparing
transfer frame bits, because SPI frame header are encoded with valid
data size, so don't need to worry about adopting dirty bits, more,
memset zero for each SPI frame may impact the spi throughput efficiency.

Signed-off-by: Chen Jun <jun.d.chen@intel.com>
Signed-off-by: channing <chao.bi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 09:25:33 -08:00
Alan Stern 9debc1793b USB: EHCI: add a name for the platform-private field
This patch (as1642) adds an ehci->priv field for private use by EHCI
platform drivers.  The space was provided some time ago, but it didn't
have a name.

Until now none of the platform drivers has used this private space,
but that's about to change in the next patch of this series.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 09:22:13 -08:00
Alan Stern 9ce45ef86c USB: EHCI: fix incorrect configuration test
This patch (as1641) fixes a minor bug in ehci-hcd left over from when
the Chipidea driver was converted to the "ehci-hcd is a library"
scheme.  The test for whether the Chipidea platform driver is active
should be IS_ENABLED(), not defined().

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 09:21:23 -08:00
Roger Quadros 9ec6e9d3cb USB: EHCI: Move definition of EHCI_STATS to ehci.h
Without this, platform drivers e.g. ehci-omap.c will see a
different version of struct ehci_hcd than ehci-hcd.c and
break reference to 'debug_dir' and 'priv' members when
CONFIG_USB_DEBUG is enabled.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 09:21:23 -08:00
Alan Stern 0f815a0a70 USB: UHCI: fix IRQ race during initialization
This patch (as1644) fixes a race that occurs during startup in
uhci-hcd.  If the IRQ line is shared with other devices, it's possible
for the handler routine to be called before the data structures are
fully initialized.

The problem is fixed by adding a check to the IRQ handler routine.  If
the initialization hasn't finished yet, the routine will return
immediately.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Don Zickus <dzickus@redhat.com>
Tested-by: "Huang, Adrian (ISS Linux TW)" <adrian.huang@hp.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 08:55:13 -08:00
Mika Westerberg 9dd3162deb i2c-designware: add missing MODULE_LICENSE
The driver can also be built as a module so add MODULE_LICENSE for it. In
addition add MODULE_DESCRIPTION as well.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2013-01-22 16:43:34 +01:00
Aaro Koskinen 9eb13cf3ec i2c: omap: fix draining irq handling
Commit 0bdfe0cb80 (i2c: omap: sanitize
exit path) changed the interrupt handler to exit early and complete
the transfer after the draining IRQ is handled. As a result, the ARDY
may not be cleared properly, and it may cause all future I2C transfers
to timeout with "timeout waiting for bus ready". This is reproducible
at least with N900 when twl4030_gpio makes a long write (> FIFO size)
during the probe (http://marc.info/?l=linux-omap&m=135818882610432&w=2).

The fix is to continue until we get ARDY interrupt that completes the
transfer. Tested with 3.8-rc4 + N900: 20 boots in a row without errors;
without the patch the problem triggers after few reboots.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2013-01-22 16:17:05 +01:00
Aaro Koskinen 2c5de558cd i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt
The errata handling function acks wrong interrupt in case of "Arbitration
lost". Fix it.

Discovered during code review, the real impact of the bug is unknown.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2013-01-22 16:17:04 +01:00
Stefan Bader 9855d8ce41 ACPI: Check MSR valid bit before using P-state frequencies
To fix incorrect P-state frequencies which can happen on
some AMD systems f594065faf
   "ACPI: Add fixups for AMD P-state figures"
introduced a quirk to obtain the correct values by reading
from AMD specific MSRs.

This did cause a regression when running a kernel using that
quirk under Xen which does (currently) not pass through MSR
reads to the HW. Instead the guest gets a 0 in return.
And this seems to cause a failure to initialize the ondemand
governour (hard to say for sure as all P-states appear to run
at the same frequency).

While this should also be fixed in the hypervisor (to allow
a guest to read that MSR), this patch is intended to work
around the issue in the meantime. In discussion it turned out
that indeed real HW/BIOSes may choose to not set the valid bit
and thus mark the P-state as invalid. So this could be considered
a fix for broken BIOSes that also works around the issue on Xen.

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Cc: 3.7+ <stable@vger.kernel.org>
Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:37:21 +01:00
Nishanth Menon 8fa938acb3 PM / devfreq: exynos4_bus: honor RCU lock usage
OPP pointers cannot be expected to be valid beyond the boundary
of rcu_read_lock and rcu_read_unlock. Unfortunately, the current
exynos4 busfreq driver does not honor the usage constraint and stores
the OPP pointer in struct busfreq_data. This could potentially
become invalid later such as: across devfreq opp change decisions,
resulting in unpredictable behavior.

To fix this, we introduce a busfreq specific busfreq_opp_info
structure which is used to handle OPP information. OPP information
is de-referenced to voltage and frequency pairs as needed into
busfreq_opp_info structure and used as needed.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:28:40 +01:00
Nishanth Menon bcb27549f4 PM / devfreq: add locking documentation for recommended_opp
OPP pointers are protected by RCU locks, the pointer validity is
permissible only under the section of rcu_read_lock to rcu_read_unlock

Add documentation to the effect.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:28:39 +01:00
Nishanth Menon 78e8eb8fea cpufreq: cpufreq-cpu0: use RCU locks around usage of OPP
OPP pointer is RCU protected, hence after finding it, de-reference
also should be protected with the same RCU context else the OPP
pointer may become invalid.

Reported-by: Jack Mitchell <jack@embed.me.uk>
Tested-by: Alexander Holler <holler@ahsoftware.de>
Tested-by: Jack Mitchell <jack@embed.me.uk>
Acked-by: Alexander Holler <holler@ahsoftware.de>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:28:39 +01:00
Nishanth Menon f44d188acd cpufreq: OMAP: use RCU locks around usage of OPP
OPP pointer is RCU protected, hence after finding it, de-reference
also should be protected with the same RCU context else the OPP
pointer may become invalid.

Reported-by: Alexander Holler <holler@ahsoftware.de>
Tested-by: Alexander Holler <holler@ahsoftware.de>
Acked-by: Alexander Holler <holler@ahsoftware.de>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:28:39 +01:00
Laurent Navet 43a2bd42d0 i2c: muxes: fix wrong use of sizeof(ptr)
sizeof when applied to a pointer typed expression gives the size of
the pointer

The semantic patch that makes this output is available
in scripts/coccinelle/misc/noderef.cocci.

More information about semantic patching is available at
http://coccinelle.lip6.fr/

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2013-01-22 09:54:32 +01:00
Barry Song bfd059da95 i2c: sirf: register i2c_client from dt child-nodes in probe entry
in probe() entry of i2c_driver, set the of node of adapter and
call of_i2c_register_devices to register all i2c_client from
dt child-nodes

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2013-01-22 09:54:31 +01:00