Commit graph

506,942 commits

Author SHA1 Message Date
Bjorn Helgaas
18e88beceb Merge branches 'pci/enumeration', 'pci/hotplug', 'pci/misc', 'pci/numa' and 'pci/virtualization' into next
* pci/enumeration:
  PCI: Remove fixed parameter in pci_iov_resource_bar()
  PCI: Add informational printk for invalid BARs
  PCI: Shrink decoding-disabled window while sizing BARs
  PCI: Restore detection of read-only BARs

* pci/hotplug:
  PCI: Remove unused and broken to_hotplug_slot()

* pci/misc:
  PCI: Make FLR and AF FLR reset warning messages different
  PCI: Simplify if-return sequences
  PCI: Delete unnecessary NULL pointer checks

* pci/numa:
  PCI: Allow numa_node override via sysfs

* pci/virtualization:
  xen/pcifront: Process failure for pcifront_(re)scan_root()
2014-11-19 15:10:33 -07:00
Myron Stowe
26ff46c6f2 PCI: Remove fixed parameter in pci_iov_resource_bar()
pci_iov_resource_bar() always sets its 'pci_bar_type' parameter to
'pci_bar_unknown'.  Drop the parameter and just use 'pci_bar_unknown'
directly in the callers.

No functional change intended.

Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Chris Wright <chrisw@sous-sol.org>
CC: Yu Zhao <yuzhao@google.com>
2014-11-19 15:07:43 -07:00
Myron Stowe
7e79c5f8ca PCI: Add informational printk for invalid BARs
As a consequence of restoring the detection of invalid BARs, add a new
informational printk like the following when such occurrences are
encountered.

  pci ssss:bb:dd.f: [Firmware Bug]: reg 0xXX: invalid BAR (can't size)

Reported-by: William Unruh <unruh@physics.ubc.ca>
Reported-by: Martin Lucina <martin@lucina.net>
Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Matthew Wilcox <willy@linux.intel.com>
2014-11-19 15:07:42 -07:00
Arnaud Ebalard
6b19b66013 hwmon: (g762) fix call to devm_hwmon_device_register_with_groups()
g762_remove() needs to first call hwmon_device_unregister() and then
g762_of_clock_disable(). For that reason, it is not possible to
convert it to devm_hwmon_device_register_with_groups() and the
the non device managed version must be used.

This is correctly stated in commit message for 398e16db62 ("hwmon:
(g762) Convert to hwmon_device_register_with_groups") but the
associated changes do in fact introduce a call to the device managed
version of the function.

This patch fixes that typo by switching to the non devm_ version.

Fixes: 398e16db62 ("hwmon: (g762) Convert to hwmon_device_register_with_groups")
Cc: stable@vger.kernel.org (3.17+)
Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-11-19 14:06:47 -08:00
Hans de Goede
6793b3cd5d clk_mux: Fix set_parent doing the wrong thing when INDEX_BIT && index >= 3
If CLK_MUX_INDEX_BIT is set, then each bit turns on / off a single parent,
so theoretically multiple parents could be enabled at the same time, but in
practice only one bit should ever be 1. So to select parent 0, set
the register (*) to 0x01, to select parent 1 set it 0x02, parent 2, 0x04,
parent 3, 0x08, etc.

But the current code does:

                if (mux->flags & CLK_MUX_INDEX_BIT)
                        index = (1 << ffs(index));

Which means that:

For an input index of 0, ffs returns 0, so we set the register
to 0x01, ok.

For an input index of 1, ffs returns 1, so we set the register
to 0x02, ok.

For an input index of 2, ffs returns 2, so we set the register
to 0x04, ok.

For an input index of 3, ffs returns 1, so we set the register
to 0x02, not good!

The code should simply be:

                if (mux->flags & CLK_MUX_INDEX_BIT)
                        index = 1 << index;

Which always does the right thing, this commit fixes this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Michael Turquette <mturquette@linaro.org>
2014-11-19 14:03:13 -08:00
Arnd Bergmann
73a0e3350c Renesas ARM Based SoC Boards Updates for v3.19
* Add restart callback to kzm9g
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUYrwJAAoJENfPZGlqN0++T14P/AgLo05kfWeUUWC1/p2atyVG
 UfNfVAlJctMQtZN23XNVSRE+mfUGvGVAeYQJo+kbGGHFCiIE5s5L9mNxn3cHmRd6
 w260S3NEQaTpwBj5Tg0dCQVgDDUm8HMf3sh/Iex++l/BlSMe1Y4aB+B84HSA5l7t
 MCOIq/ShY05B16KLaLwUihZnJUN3eZ9/0HkGUVN4dKQvU2+tlYTGSpE1XlCm/kWC
 Rq+bLLew/1zPfebtWdqnSX50Vu3/UkYs4629ahqycyOSXvqpqMbN7mrHN6+uSruR
 49fUt2fsauESX2deFYO18f/T0eNqf7tp9opTIQdNCA2u87pTeQSx4JQzWItJGUu/
 f32CS4aANSNAPRjeRukbBJuuFCWAM1vN9rHbpAKV/d0n70YcNesC5nzGL7IzsH8Y
 pVg6guHLCInMB72P+AC/8HHeru09qoNOj5p1R15i+vqc71XJrrVm/nuP+IIh9WY/
 a71rC3rY409b15ZjURBRs+T8C8Kyg3i7zPpj/ColSniHr0AO6GWHoWTt9T7RITUG
 FPSPTNhFs0SEPG7qwp6eWN4Nqsfb7M4BEZe6nL8VFj5cgh2XugJ7xaE6ij1Sfj1P
 ihmqUFft1JEbEV/f43yl6rb/i8aIt5qel9mGtv+doPzxgL62NBVra/jtVY+DYBkY
 757L9/7tIV4wwy/JQpj7
 =k0Vx
 -----END PGP SIGNATURE-----

Merge tag 'renesas-boards-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC Boards Updates for v3.19" from Simon Horman:

* Add restart callback to kzm9g

* tag 'renesas-boards-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g-reference: Add restart callback

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 23:01:50 +01:00
Anish Bhatt
ee7255ada3 cxgb4i : Don't block unload/cxgb4 unload when remote closes TCP connection
cxgb4i was returning wrong error and not releasing module reference if remote
end abruptly closed TCP connection. This prevents the cxgb4 network module from
being unloaded, further affecting other network drivers dependent on cxgb4

Sending to net as this affects all cxgb4 based network drivers.

Signed-off-by: Anish Bhatt <anish@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-19 16:59:26 -05:00
Duan Jiong
ffb1388a36 ipv6: delete protocol and unregister rtnetlink when cleanup
pim6_protocol was added when initiation, but it not deleted.
Similarly, unregister RTNL_FAMILY_IP6MR rtnetlink.

Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com>
Reviewed-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-19 16:56:17 -05:00
Arnd Bergmann
a096c88b3f Third Round of Renesas ARM Based SoC DT Cleanups for v3.19
* Use keyboard as gpio-keys node name
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUapdxAAoJENfPZGlqN0++GJ0P/ROuRziwZCeXmsOv6zPNv1XR
 EVY93sam8qoFTgJaGiGbEi7stOIpEW0GPxUJzGDPgysMhSxBt2hqqAMtzRAK8uvl
 d+zMFIPGxPpzQW7lpVdeYnZLyr78jmhwXUsX//bOyIAmhDA80Oo43rWK5ksgGXml
 wkGVhKRipVkyCRztae72T0I5oTIbPSs25P4Qo6NdYlzLOWQ9ss3iQWxYBUBlMb/v
 MwJIy515IF+qhLJngaIG1J+d5x2s4gF68szv+oaUFPH6fRFpgEtl7XMrnvFrj/us
 HGWOi2L6cRBrySkY9D/ApbC4VC/QGbGdRkOJxWj+/p+JxXm3WVm+uPzH6WNARsFU
 EDrODAUfob9eilylDOxrv6fKmc/i4NOYfPfOor9dYDWeNgSXLgWorB1P26cVR9Yg
 bhE5zUcJguw2PJDPIDdfotFxU4cdU6E/NUaMVbGvKRjwB8zTYxMoj2psdYxorMap
 MRn504OAoiHiXqgGHaKvRYTlqE2PO0Mqc1EsPJSE1MVwdI2P4i4SPb3/qija8LWW
 bz1bTxxdCcGEe17EDisgbrqF0Bmeit3GB896UR8XZPy/Xsocjx0p4NkFatkkrMAb
 UNcSY6UfOssqH0+0CfMELP1uLOhwMZGNpw/ifKvOJGO7RDPi9d1VYSjY+vqWaf96
 nLFR+oR2uja0F0/DaotP
 =H8mr
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-cleanups3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Pull "Third Round of Renesas ARM Based SoC DT Cleanups for v3.19" from Simon Horman:

* Use keyboard as gpio-keys node name

* tag 'renesas-dt-cleanups3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g-reference: Use keyboard as gpio-keys node name
  ARM: shmobile: koelsch: Use keyboard as gpio-keys node name
  ARM: shmobile: lager: Use keyboard as gpio-keys node name
  ARM: shmobile: armadillo800eva: Use keyboard as gpio-keys node name

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:49:32 +01:00
Tomi Valkeinen
f22d254551 ARM: OMAP2+: hwmod: add parent_hwmod support
Add parent_hwmod pointer to omap_hwmod. This can be set to point to a
"parent" hwmod that needs to be enabled for the "child" hwmod to work.

This is used at hwmod setup time: when doing the initial setup and
reset, first enable the parent hwmod, and after setup and reset is done,
restore the parent hwmod to postsetup_state.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit.taneja@gmail.com>
[paul@pwsan.com: add kerneldoc documentation for parent_hwmod; note that it
 is a temporary workaround]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2014-11-19 14:48:12 -07:00
Arnd Bergmann
ba84c80bad Second Round of Renesas ARM Based SoC DT Cleanups for v3.19
* Drop console= bootargs parameter on alt
 * Correct scifb* naming on r8a73a4
 * Drop 0x unit-address prefixes
 * Remove unnecessary MMC options
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUYBRyAAoJENfPZGlqN0++D50P/2VWiS9cv/GZXxwVhI1cXHBv
 Zgi2m0aFqM1E6Fs+IreC2RSTR+ucUm/2BXg2Ig3MC3LsQ/iyh3axq27hAphBup51
 aF/Xi87+kDqnQCPB6pZop5lVkx+JL9Zi8ye6+qAjdysz48jf+389MEP4cif9Nk7g
 +o1VIah3orzk2WPummTFdBoYemqZ6M6tENpgQzlWGh6wDSrmKYUnfen74JDeMaqK
 xqqBraBb6P1pbPlZ3Pr0asOTq+fRBM4L1meZLDqNdG/DlhTWXL9uuyBo2jpT60eH
 9ssWhMt39xIbkfZNcDJ0P0BRxi/QbdJS5B/MGQcvmV28sv1eaa59D8gWF+om4F1r
 HQz9j3IsRpB5P7fxSVn+F2o6BPC+IwKmMBTMmVQZQ34ryqIFwo/tVpVDl5iE/+4G
 BYFFrMeuOWsUt05vl6vNmjSOgfMVk2A4ctOD70bNhjlLjym68JuBQFIa3Ju62M/J
 9QKVfg/m3VtIBRgGWq6+9cxvkQstk3AF9bGDH4LLfaNQCSJnScz687y8qjE+NIBm
 aqig/P+uHVQ25o04EYaKmuVCMqW+m7mtmXfiMszDGiQV4zAwZJQvXLLjRDeCaLai
 wWutff87HnKXl45X4hjBDzrCUS5cGm5GYF6gAxqEwAUBr4Ce2cfzN3mPsX+cNoWH
 JNaM3d6h3M99WxUultgX
 =l01+
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-cleanups2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Pull "Second Round of Renesas ARM Based SoC DT Cleanups for v3.19" from Simon Horman:

* Drop console= bootargs parameter on alt
* Correct scifb* naming on r8a73a4
* Drop 0x unit-address prefixes
* Remove unnecessary MMC options

* tag 'renesas-dt-cleanups2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: alt dts: Drop console= bootargs parameter
  ARM: shmobile: r8a73a4: fix scifb* naming
  ARM: shmobile: kzm9g-reference dts: Drop bogus 0x unit-address prefix
  ARM: shmobile: r8a7791 dtsi: Drop bogus 0x unit-address prefix
  ARM: shmobile: r8a7790 dtsi: Drop bogus 0x unit-address prefix
  ARM: shmobile: r8a7790 dtsi: Remove unnecessary MMC options
  ARM: shmobile: r8a7779 dtsi: Remove unnecessary MMC options
  ARM: shmobile: r8a7778 dtsi: Remove unnecessary MMC options

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:48:06 +01:00
Arnd Bergmann
8ef74e5d39 Renesas ARM Based SoC DT Updates for v3.19
* Add Add SoC-specific SATA compatible property to r8a7779
 * Enable DMA for MMCIF on r8a7791 and r8a7790
 * Enable USB-PHY, HS-USB and USB3.0 on r8a7791 and r8a7790
 * Enable TMU timer via DT on r8a7778
 * Enable CMT timer via DT on r8a73a4
 * Add MMP and {SR}GX clocks to  r8a7791 and r8a7790
 * Correct scifa2 clock index on r8a7740
 * Add missing INTCA for irqpin on r8a7740
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUWBh9AAoJENfPZGlqN0++zjwP/RxjS7wnDQvGqw2d3GSKp0I3
 Es/C4Ssm8kDYlgY1cQqeI/KK05vLEp5998YGy2kaVlTUSCj6UMO4UJ4t6yZgBeGA
 Nh4V70I475zlmxBjF4ZePD5+o/lyTbw+2GxHKFRsnxXqEr3E9QDNCgAc7kPevJl3
 U9T6B63VP3jOxJVzhfSNeFKYgmg4YgLW0aCsnZoW9mlS0phFZPO236JHdvFH8QQj
 FBjcdkkQjncBUTvLB54ASRk6wTWnEQ9WFGIGHDNYM11bypLndbKFxziofkKnex0B
 Pw6r9nY5jsKVkye68PsL5abKnyJQ87assacGEm6SuO/Sp8fR9ixt1+VWvLFfybcr
 sNYs1996kXghKvYbTZOFSGiH9e5BL/rwwepE/XkPbTvI1CeFIs3LQtXLfwfKmf/p
 +gIFT7ouY3GHtCivSSBz0iB8Z4pUNaurLmYkIsvUzsbccOMUcq8F4HL8RXWyBwG9
 FK0fwRCXP5zwI9rMePnGcLhR2LXB1n3yDfbfr7ZOd3Vw9rk3s9fj2czpJJMB4Dtz
 Nd4W5EedW6SrqzCMND1ZoE0T48zRooRWsgMv5AEES4epSDhuDLO1cQpkqca7fbfQ
 7rQmJpS8YEvXstbJWh44jZxWdN+W0TPydv2MrpPorB6KAueSTF259Z7zFoo4+S5f
 EPflJfAS+yMLDnl2ARaC
 =78IM
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Pull "Renesas ARM Based SoC DT Updates for v3.19" from Simon Horman:

* Add Add SoC-specific SATA compatible property to r8a7779
* Enable DMA for MMCIF on r8a7791 and r8a7790
* Enable USB-PHY, HS-USB and USB3.0 on r8a7791 and r8a7790
* Enable TMU timer via DT on r8a7778
* Enable CMT timer via DT on r8a73a4
* Add MMP and {SR}GX clocks to  r8a7791 and r8a7790
* Correct scifa2 clock index on r8a7740
* Add missing INTCA for irqpin on r8a7740

* tag 'renesas-dt-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (34 commits)
  ARM: shmobile: r8a7779 dtsi: Add SoC-specific SATA compatible property
  ARM: shmobile: r8a7791: Reference DMA channels in MMCIF DT node
  ARM: shmobile: r8a7790: Reference DMA channels in MMCIF DT nodes
  ARM: shmobile: r8a7791: Add MMCIF0 DT node
  ARM: shmobile: r8a7790: Rename mmcif node to mmc
  ARM: shmobile: r8a7778: Add SoC-specific TMU compatible property
  ARM: shmobile: r8a73a4: Add SoC-specific CMT compatible property
  ARM: shmobile: henninger: enable HS-USB
  ARM: shmobile: koelsch: enable HS-USB
  ARM: shmobile: r8a7791: add HS-USB device node
  ARM: shmobile: lager: enable HS-USB
  ARM: shmobile: r8a7790: add HS-USB device node
  ARM: shmobile: r8a7791: add USB3.0 device node
  ARM: shmobile: lager: enable USB3.0
  ARM: shmobile: r8a7790: add USB3.0 device node
  ARM: shmobile: r8a7794: Add arch_timer to device tree
  ARM: shmobile: bockw-reference: Initialise TMU device using DT
  ARM: shmobile: r8a7778: Add TMU nodes
  ARM: shmobile: armadillo800eva dts: Enable TMU0
  ARM: shmobile: r8a7740 dtsi: Add TMU0 and TMU1 device nodes
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:45:33 +01:00
Arnd Bergmann
67ec55bcb3 Merge branch 'renesas/dt-du' into next/dt
This is a base for the DT updates, merged through the arm-soc
cleanup branch.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:44:34 +01:00
Arnd Bergmann
8ecb3ccb74 Renesas ARM Based SoC DT DU Updates for v3.19
* Enable DU using DT on marzen/r8a7779, lager/r8a7790 and koelsch/r8a7791
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUWBRRAAoJENfPZGlqN0++Pm0P/3Qa+X8o4kAZETi+ER+Q7s/B
 d0EGNAw/1b/Si7D2SpftRHvHx5TDL2QiU0QIAPWAcd4u1NJxaYP/SDwRETGQnHbV
 TsL25mASYNByP6DXTrBJneiDS5U88DwVP5q5FW9WEkvIbmtzbxTe/7OnSPAjhxl0
 83kXATiHwdRct4KYLW8ngNhaY/9OUjrL+wZ8ffN/dM0EpSyixXK5bHmWLFC5/HGY
 D8b+zW/NTSBOYTk1OR6QSlp/eGmjRCG2UJn4toHWKse2defxZ/hyTUas4ysgDXzC
 gsWT96yLwmueTRcSBglkKGFbPukWcyKPt7sRphtZlTYbJmpS0ncBTfC2s0+Jv2RR
 VDpeAmB6NXQ5L7Ck51ryt4A8kX88uOgHrmcz+NGJadNE07TZgLJBLDf6aSjDsytr
 NIZq7RFNK975Qv3QldQJX4PYmqcWJMI5WDPnm2buzZsKHkjQrpKIicAiSlwzJX/9
 4SeCF2yrZuJJVnJwit8gOvvBHq5ORQrumAs1xrPQiu570p+6jBjjJ5v4sDvuF5UY
 nXfMTUGrNYe8JSxjf8NTmXJX8DRKSLq0tGcHbzajvKVzuy8Gp6+yFNkrqzQj2HK6
 dy4TLtuvMk5JB4E5Q22xdYYV4TorO28qiuGoGDOOwIx6+940MdY/ucE2Z4i4M2R7
 /NZJCpITds6HxVZJWAKo
 =m0Ov
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-du-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

Pull "Renesas ARM Based SoC DT DU Updates for v3.19" from Simon Horman:

* Enable DU using DT on marzen/r8a7779, lager/r8a7790 and koelsch/r8a7791

* tag 'renesas-dt-du-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: koelsch: Enable DU device in DT
  ARM: shmobile: koelsch-reference: Remove DU platform device
  ARM: shmobile: lager: Enable DU device in DT
  ARM: shmobile: lager-reference: Remove DU platform device
  ARM: shmobile: marzen: Enable DU device in DT
  ARM: shmobile: dts: Add common file for AA104XD12 panel
  ARM: shmobile: r8a7791: Add DU node to device tree
  ARM: shmobile: r8a7790: Add DU node to device tree
  ARM: shmobile: r8a7779: Add DU node to device tree

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:32:46 +01:00
Yinghai Lu
7fc986d8a9 PCI: Support 64-bit bridge windows if we have 64-bit dma_addr_t
Aaron reported that a 32-bit x86 kernel with Physical Address Extension
(PAE) support complains about bridge prefetchable memory windows above 4GB:

  pci_bus 0000:00: root bus resource [mem 0x380000000000-0x383fffffffff]
  ...
  pci 0000:03:00.0: reg 0x10: [mem 0x383fffc00000-0x383fffdfffff 64bit pref]
  pci 0000:03:00.0: reg 0x20: [mem 0x383fffe04000-0x383fffe07fff 64bit pref]
  pci 0000:03:00.1: reg 0x10: [mem 0x383fffa00000-0x383fffbfffff 64bit pref]
  pci 0000:03:00.1: reg 0x20: [mem 0x383fffe00000-0x383fffe03fff 64bit pref]
  pci 0000:00:02.2: PCI bridge to [bus 03-04]
  pci 0000:00:02.2:   bridge window [io  0x1000-0x1fff]
  pci 0000:00:02.2:   bridge window [mem 0x91900000-0x91cfffff]
  pci 0000:00:02.2: can't handle 64-bit address space for bridge

In this kernel, unsigned long is 32 bits and dma_addr_t is 64 bits.
Previously we used "unsigned long" to hold the bridge window address.  But
this is a bus address, so we should use dma_addr_t instead.

Use dma_addr_t to hold the bridge window base and limit.

The question of whether the CPU can actually *address* the window is
separate and depends on what the physical address space of the CPU is and
whether the host bridge does any address translation.

[bhelgaas: fix "shift count > width of type", changelog, stable tag]
Fixes: d56dbf5bab ("PCI: Allocate 64-bit BARs above 4G when possible")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=88131
Reported-by: Aaron Ma <mapengyu@gmail.com>
Tested-by: Aaron Ma <mapengyu@gmail.com>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: stable@vger.kernel.org	# v3.14+
2014-11-19 14:30:32 -07:00
Arnd Bergmann
1cee6a96cd Second Round of Renesas ARM Based SoC Boards Cleanups for v3.19
* marzen-reference: Don't include legacy clock.h
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUWBZoAAoJENfPZGlqN0++TsEQAI43mmu8RgLlCyWTcRu928C9
 6ui0WocKzZWYWkZJCAjtOestossOBHr+jYWISAPTHpVX1S3snKNFz6SdzMJNkYQI
 eFBSVpDsk3eSd+IUI6Z4ZZD/JSGHFRmxRzTp0wkdp4dQCi6/Rskm1IqzX0uF/+6b
 bspYnBP3DPExnAy8NgGrJzjCm8fv9UDAXb7waA7fJrybzjoM0fuwo4NeXZTxrY4F
 1F2rXLgLZvdRX9SuWka0Le4v5TeGB/5mxtBUdwekllaVEs+S0HQcG4faj90NNK8Q
 KR7XYRSZQLjKr4ndpq67iFSACubep1gngcB6TqxYlo9n52RkFOrBwWyyHuCodqfl
 uvjGm8ReZtqbWpkHta8a9hQlQjuX+IYT6Maw+eI0qwCMHl6miNzV/JTslWQVjfY7
 OOn9bJFR8JOJo1K+dstPYuynx1OR7EryzrTcFKtMPCFzArmGb6Xle++y5OiVWkNc
 AZlwAqNfPTU+46oTZd1fb9EdLotjQKzUkFQWGkt34WjA88eqDPQt3S6fv9Mhe6s6
 gjLdtFL5zM8y5IB8wrAQsg9WEjCTekjje3nMCLhhEvHdh/CxZ1uMPRVWrfkoMtvd
 1Jq98j9Q3LFaPZRnicH53FWqzOGgYsvHrtU5v01Bf9PgyvhDc3uIAuwxMKGbN9qo
 pinzk1jmH8XLCoSI5sOz
 =1JF0
 -----END PGP SIGNATURE-----

Merge tag 'renesas-boards-cleanups2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

Pull "Second Round of Renesas ARM Based SoC Boards Cleanups for v3.19" form Simon Horman:

* marzen-reference: Don't include legacy clock.h

* tag 'renesas-boards-cleanups2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: marzen-reference: Don't include legacy clock.h

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:29:59 +01:00
Markus Elfring
16a8ef2751 tracing: Deletion of an unnecessary check before iput()
The iput() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Link: http://lkml.kernel.org/r/5468F875.7080907@users.sourceforge.net

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 16:28:45 -05:00
Al Viro
232365f660 bury skb_copy_to_page()
no callers since 3.0

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-19 16:24:35 -05:00
Al Viro
08adb7dabd fold verify_iovec() into copy_msghdr_from_user()
... and do the same on the compat side of things.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-19 16:23:49 -05:00
Al Viro
0844932009 {compat_,}verify_iovec(): switch to generic copying of iovecs
use {compat_,}rw_copy_check_uvector().  As the result, we are
guaranteed that all iovecs seen in ->msg_iov by ->sendmsg()
and ->recvmsg() will pass access_ok().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-19 16:23:16 -05:00
Al Viro
666547ff59 separate kernel- and userland-side msghdr
Kernel-side struct msghdr is (currently) using the same layout as
userland one, but it's not a one-to-one copy - even without considering
32bit compat issues, we have msg_iov, msg_name and msg_control copied
to kernel[1].  It's fairly localized, so we get away with a few functions
where that knowledge is needed (and we could shrink that set even
more).  Pretty much everything deals with the kernel-side variant and
the few places that want userland one just use a bunch of force-casts
to paper over the differences.

The thing is, kernel-side definition of struct msghdr is *not* exposed
in include/uapi - libc doesn't see it, etc.  So we can add struct user_msghdr,
with proper annotations and let the few places that ever deal with those
beasts use it for userland pointers.  Saner typechecking aside, that will
allow to change the layout of kernel-side msghdr - e.g. replace
msg_iov/msg_iovlen there with struct iov_iter, getting rid of the need
to modify the iovec as we copy data to/from it, etc.

We could introduce kernel_msghdr instead, but that would create much more
noise - the absolute majority of the instances would need to have the
type switched to kernel_msghdr and definition of struct msghdr in
include/linux/socket.h is not going to be seen by userland anyway.

This commit just introduces user_msghdr and switches the few places that
are dealing with userland-side msghdr to it.

[1] actually, it's even trickier than that - we copy msg_control for
sendmsg, but keep the userland address on recvmsg.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-19 16:22:59 -05:00
Arnd Bergmann
bdc5be0d00 Renesas ARM Based SoC Defconfig Updates for v3.19
* Enable AK4642, Audo DMAC peri peri and R-Car DMAC in shmobile defconrig
 * Enable PM Runtime in ape6evm defconfig
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUYBTZAAoJENfPZGlqN0++i/gP/jb3xBjHquvkgcWaFH4UfBuf
 fD3fLsMXmvs9zafGrG2cN0ezm9SfEN9D8bm3w2sszDevdHNDFzCCN5uPPEgRFf96
 6YVL4mseZQov1KguI2imSFL/N0kKlvGWtmCvKKa9c0Zlh3LBsUXt6e88HbSILr/A
 8X+yrgeJDlYQ/+OqTeLRZL4U1ghpQPh2gTP7MWq2t/dqY3H5xB+LhN0sCipuze3P
 TVFQRYIAOK7TcHt0jq6O574/Pn12lMVfIBuB4jgw0IBKW2p70jnWJjjPAb6eZDe0
 iqlhfqWlrlnnVdCJoMGlkmmhqak9lJpmejUBtwG2BAI44VWj+JvjZkrxvC7Uyvex
 IfKQ4ji/OgGy12mJOQ1S+SEf8spUyZkM/bE/sMpljOjWQgh9De/zRqjXZ0JjLjmO
 RXjE8wQ2XaDYpNyZ80+k/R8he4MUaUJs8ZVT2kyp9a8vPt4zksmynrKdlgKa9mQO
 /tRgAuLUcmfBALxeO8sbQmZLOkytudSM6FAbFefDRRCgCr2GTrA9+6MshnKQPlcj
 LwvWwrxSM6L6PrTVsoFW4pcD5sKClRH/z6acQAzQwJDJv+zm5H0jS8EqfInLYzfQ
 Icb+h90NWnb/BerfGyQV1gaTYSaUZjg0v3RfdgtR2JEItKYZXxKyZYtwdI5uUFTV
 OGH7PlZXKlWNjla1tf0r
 =4hyU
 -----END PGP SIGNATURE-----

Merge tag 'renesas-defconfig-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig

Pull "Renesas ARM Based SoC Defconfig Updates for v3.19" from Simon Horman:

* Enable AK4642, Audo DMAC peri peri and R-Car DMAC in shmobile defconrig
* Enable PM Runtime in ape6evm defconfig

* tag 'renesas-defconfig-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: multiplatform: add AK4642 support on defconfig
  ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig
  ARM: shmobile: multiplatform: add R-Car DMAC support on defconfig
  ARM: shmobile: ape6evm: Enable PM Runtime in defconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:22:25 +01:00
Arnd Bergmann
b4e2c4bf4f Third Round of Renesas ARM Based Soc Updates for v3.19
* Always build rcar setup for armv7
   - Fixes allmodconfig build fauilre caused by
     "ARM: shmobile: always build rcar setup for armv7"
 * Add restart callback to sh73a0
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUZAalAAoJENfPZGlqN0++VREP/3y7uJB/lLTr1u0tXiBHGAUX
 ElNcUR7JgDnfWyhVwh9Nyo91kx3A95Z72PzouGQQVVmZc1ZuhIU/XKCjDRRGuTHY
 JiWNacLNVHXCm4tQ//T7MjTEt7jXeUKciSLlq4vSHk4Wn0uUYEWibYDIrrysm0d/
 7JAxJL+D59AUfGcL9rTiuolCtBLgB6V099WE0WNTFeWxktfCORQiiuck3yv54Ar7
 djxLAsjDQgtWszUzaVlLJjeI/X9bRCO1yWzCmSRR4Kek0A/ZTCH5UrpWlc3fkUyz
 zdmRv0IherWn/PB1NTdVlgSDDeDOmIPu9K2JIvaVbfRyRAKehkqjqdEbUYWc+F88
 gICU8y2qBBl1/F8xVhS1dPMyGlTkebzFPAXbUCPVrtfVJdmhAMKoWZ5cGG3gap9L
 nvhaj7CxU3hCfBUUYz7AtmpCBXN6WY/HNldR4JK9rw+eW+NZVOM+P5xnjvyYwhb6
 2oua8RL99qzWxaXbWdIisLK9/YgDQFCF3id/f21Wvawb+uoNJjiyFIOiTJ0SLj9H
 02EX7rrbwm9eVNGgNUJnjPWpW7YcUUPJFk4qv1VLCsHwNyvBfLbs3A6hxG7fJF7x
 HKmMK8FRCtYTWHIUqMkCJ3SQ3ineK6rrmf1HyrNa0rBdr1uhgAVAAsX/LDKDY1Fe
 o9pWDKsfYjNN8KARepBN
 =H86n
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Third Round of Renesas ARM Based Soc Updates for v3.19" from Simon Horman:

* Always build rcar setup for armv7
  - Fixes allmodconfig build fauilre caused by
    "ARM: shmobile: always build rcar setup for armv7"
* Add restart callback to sh73a0

* tag 'renesas-soc3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: always build rcar setup for armv7
  ARM: shmobile: sh73a0: Add restart callback

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:11:03 +01:00
Arnd Bergmann
0a1d643450 Second Round of Renesas ARM Based SoC Soc Updates for v3.19
* Enable PCI domains for R-Car Gen2 devices
 * Make APMU resource code SoC-specific
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUZAXRAAoJENfPZGlqN0++qlgQAIne34JegIo6zR6IHUyHzvNK
 QqXeFTQvWyUX5jCVsn79gL7gwOuOoSwDqvrdGOla/LH4zayfG/kloFowxoO6qcdl
 UGKKTJMWgh4BKMusIskjoDShqGDIbyPRMcs+SdmU0+qrGZh9gYfifUZqopQ2+FpL
 2vvPA0vR5J7kfT5Vg8sUkYdbPoivcnL76D5nZonsEcIn0wKEyTL9AY0b5uNMJIxc
 em1zBtt5zICwA5iiJKe7Q59z1st5Z/LDWFQP24uquKZwfShawMddm9kPfLqHlSnr
 SD9qzAaBPar30R+QDfQH7pC4q3MlALAqAmIWIgaBDLubkJwd5N5yTAgQ7Uw4uqH6
 8mwfYY4cnyD9R5CTVUYVn/pY1+QYjjXoYHWlgJkhhsnC8iwYd/FLcXhy793Kk0ac
 b2UusUO/zEILVh2wZT2ki50LIURM7dW0CUhl5Gt4G8c+zMQ8FwtZi33eW9Gpf+1k
 xWPvKMt5rIi0YyI19mxlhdAp2GF2yWR7uycb4FeN/z/ce5GOAaDOWt1Gtib3YjM9
 EQxGFPCWhrTJ/vfufYr4tfPLJeedQ8XpFIKL9ACvIY67zOst5nEkE9g6Lyt23ByU
 NbwQSHV8dpIWGkmps4QazDyy2vwQTrUxa0XPU2JcAxO50UjiHGlK6WOKAn610StU
 xji8z2cdEbNZ5zV/1tfs
 =g7rn
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Second Round of Renesas ARM Based SoC Soc Updates for v3.19" from Simon Horman:

* Enable PCI domains for R-Car Gen2 devices
* Make APMU resource code SoC-specific

* tag 'renesas-soc2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Enable PCI domains for R-Car Gen2 devices
  ARM: shmobile: r8a7791: Correct number of CPU cores
  ARM: shmobile: Separate APMU resource data into CPU dependant part

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:09:18 +01:00
Arnd Bergmann
c39bacad19 Renesas ARM Based SoC Soc Updates for v3.19
* Select CONFIG_ZONE_DMA when CONFIG_ARM_LPAE is enabled
 * Add CA7 arch_timer initialization for r8a7794
 * Handle CA7 arch timer delay
 * Add shmobile_init_late() to sh7372
   - This is consistent with other shmobile SoCs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUWBX0AAoJENfPZGlqN0++oZoP/1BV0Lzhol3eQ/RlqG9maNCO
 iR2tAdfeScxwqD+VE8pHJQIoyYF8sfKKEaJxsyPl2KP1BzzBXGkNnsp35vNPG8p7
 32AY27+98R7AqJ2ajKAqqdc7ooZLam1BW7kv99XmSKx/9n4Y1RKXaXVweRmxh3d5
 dBaKGVX8ixl7yDZ7prsQqECzh7XN1/rhPXP50nq0aZtR0CRgAPzHyGGooc7s3zIz
 7enlXev2u178I0YH9kujBbB/pjWCxrygKsB7gWp+t/klb9R0MWmVoB8/ae5rFRbq
 E+ULTVJ2G0cnhCTncu7N65/N69rmrbCGaGLBzKqV4Ve3qXImr0L6AqGmAGPMlqJT
 V+C44tGCjTJ7rc2gwv3Y6EPi/BQmEGRAGUp6GLBC0wexQdP6GRa7HrxsiRPuXrF6
 OTG42oGqslMNemF0yZjzJU/SDutLYqYHhbqzl8akGr+PpB58ybjplM0mAyae/pp6
 JTDYqCvlowsXN3FWgSZOIZ8UFM58UElGt9DBGCyEypTUADAFqD0SiUU7QCRFGKaj
 VhfgQ/gzwmKG19C1DgLTZv+8fzR/lvwBBtjwlP0io4Rd52rUGtmxcvH/0KV8INXq
 GsI9mEb6B4ZUFhG0Dgkna1XM9227PIQr126K/PDPjQPNHxVoVMQUuo9DrFNmXMt7
 XEhA8eE9kxnf73DQEPB7
 =bG2T
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC Soc Updates for v3.19" from Simon Horman:

* Select CONFIG_ZONE_DMA when CONFIG_ARM_LPAE is enabled
* Add CA7 arch_timer initialization for r8a7794
* Handle CA7 arch timer delay
* Add shmobile_init_late() to sh7372
  - This is consistent with other shmobile SoCs

* tag 'renesas-soc-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Select CONFIG_ZONE_DMA when CONFIG_ARM_LPAE is enabled
  ARM: shmobile: rcar-gen2: Add CA7 arch_timer initialization for r8a7794
  ARM: shmobile: sh7372: Add shmobile_init_late()
  ARM: shmobile: Handle CA7 arch timer delay

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:02:48 +01:00
Arnd Bergmann
15fee17dba Renesas ARM Based SoC Runtime PM Updates for v3.19
* 8a7740/armadillo800eva legacy PM domain support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUWBVgAAoJENfPZGlqN0++wbAQAKcogdoxaqGMjkWXcly8oEHZ
 biOmOU49lj/24K9UdapClO8ML7WkDIHOtORCODRy6UXiGBSBw/seydvYFSCZ4JdQ
 zcr2ktHZSOoi/6nliR5NTtrsgfdlV6BiwHoqlf1gyJcgns/5fKi9I+4Oh1Q4i2m2
 2nRX5RBb9qTjJd1yAh9Qu7DaIGQ37KnJHA6u2EvMMk3n+fP8F5G3n7+SglpUlviy
 4xSIDaRKNGrD7PaYJaZIJu8ZMTq4+guQwb8CMILhB+5u+YIqXqiBA2aK0w/y9j3g
 vD5XYYamAxkTTOz7ZWgSsaY4CmSo8w7Vxe/pDVIkF5Zzw3Xxrmo9BHIRcVGOY/c4
 L9uHx0UJSwEtRJiGfXAFHU+FoboUrJMDjamTaa+9rEmb2Fgn3TSq1AQ+/oPnM/S7
 RzyoJ6XMIB4kr7+9JxUAhZxPl834rcH5HcKlgdlwmKylXu9Tiwq5oU2gU11xI0pt
 Vwey8x3lNErEC8zROsozDsHjOVQcvr3t3PZJuppjcgIcUUmCiqMn5i5Cf7NjuH6t
 O6LJmne2nf+fUgW3KyLQbqdvVMXR+4/E7TuDNa6Fqq38QBU0mzFqYD4rb+nFGHag
 JZVk4BWJ1nuawsU9ihTcJ+SHgY19wf24mcnTDICYeZYBlqdfges1FtkGnsCLEg92
 DfZsQij4+dIv9hg9LolD
 =6/TT
 -----END PGP SIGNATURE-----

Merge tag 'renesas-runtime-pm-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Runtime PM Updates for v3.19"

* 8a7740/armadillo800eva legacy PM domain support

* tag 'renesas-runtime-pm-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7740: Add A3SM pm domain support
  ARM: shmobile: r8a7740: Add A4SU pm domain support
  ARM: shmobile: r8a7740/armadillo legacy: Add A4R pm domain support
  ARM: shmobile: r8a7740: Add D4 pm domain support
  ARM: shmobile: r8a7740/armadillo legacy: Add A4MP pm domain support
  ARM: shmobile: r8a7740: Add A3SG pm domain support
  ARM: shmobile: r8a7740: Add A3RV pm domain support
  ARM: shmobile: armadillo800eva legacy: Add missing A4S pm domain devices
  ARM: shmobile: armadillo800eva legacy: Add missing A3SP pm domain devices
  ARM: shmobile: r8a7740: Add missing A4S pm domain devices
  ARM: shmobile: r8a7740: Add missing A3SP pm domain devices

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-19 22:01:24 +01:00
Markus Elfring
fdf2657bc8 udf: One function call less in udf_fill_super() after error detection
The iput() function was called in up to three cases by the udf_fill_super()
function during error handling even if the passed data structure element
contained still a null pointer. This implementation detail could be improved
by the introduction of another jump label.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Jan Kara <jack@suse.cz>
2014-11-19 21:56:06 +01:00
Markus Elfring
0d454e4a44 udf: Deletion of unnecessary checks before the function call "iput"
The iput() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Jan Kara <jack@suse.cz>
2014-11-19 21:55:45 +01:00
Oleksij Rempel
b4c1b70823 ath9k_common: make sure DEBUG_FS and RELAY enabled
currently ath9k_common depends on this components.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-11-19 15:50:04 -05:00
David Teigland
2ab4bd8ea3 dlm: adopt orphan locks
A process may exit, leaving an orphan lock in the lockspace.
This adds the capability for another process to acquire the
orphan lock.  Acquiring the orphan just moves the lock from
the orphan list onto the acquiring process's list of locks.

An adopting process must specify the resource name and mode
of the lock it wants to adopt.  If a matching lock is found,
the lock is moved to the caller's 's list of locks, and the
lkid of the lock is returned like the lkid of a new lock.

If an orphan with a different mode is found, then -EAGAIN is
returned.  If no orphan lock is found on the resource, then
-ENOENT is returned.  No async completion is used because
the result is immediately available.

Also, when orphans are purged, allow a zero nodeid to refer
to the local nodeid so the caller does not need to look up
the local nodeid.

Signed-off-by: David Teigland <teigland@redhat.com>
2014-11-19 14:48:02 -06:00
Trond Myklebust
c6c15e1ed3 nfsd: Fix slot wake up race in the nfsv4.1 callback code
The currect code for nfsd41_cb_get_slot() and nfsd4_cb_done() has no
locking in order to guarantee atomicity, and so allows for races of
the form.

Task 1                                  Task 2
======                                  ======
if (test_and_set_bit(0) != 0) {
                                        clear_bit(0)
                                        rpc_wake_up_next(queue)
        rpc_sleep_on(queue)
        return false;
}

This patch breaks the race condition by adding a retest of the bit
after the call to rpc_sleep_on().

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2014-11-19 15:45:44 -05:00
John W. Linville
6158fb37d1 Here's another last minute fix, for minstrel HT crashing
depending on the value of some uninitialised stack.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJUa70EAAoJEDBSmw7B7bqr40gQAMgNUKILuYTyHZaKR7teV8aG
 uVFzrMdmNjCZIsxAuH1X8VNOJZEAB+Ro+lTybNjC/tTPyA+Yu3lDCQjSYiE8UOFk
 mDrNFG0tjZHGn3axceLIhujfPqXEks/wQ98tDEJU2eMLxS0nClwyTXjhc1IxzUBO
 /L2HlhGWADRZ6FIV7yhRO33KN1l3Q8oxW79ybJq/5JCcclfGBt3OpYvi7AW6M4iK
 qfgTfS6GbpcRRc4+HVA/cgYOFaRmMI71bvqMgvh8MgmqfQeRw+WSOaUiLx795CsR
 OKrIQgdpVp2JHwHkFXIgBy+EBBbXtCozvxKX3u+YKPabj4GC/6dkT370nuvv9hkz
 IzTxt+yNBTqJawum7vM6WypgT4wCZOR0JbY0vDW5jYLJnDfGJkYFbny7WtRtCVf7
 xWzIixkyWLNFs6swbRdIKoU5GNw2fNe7az4fRoUqNtZGSPHiK7oD5sEkr81hWUV5
 5XsifngqekfdVvIGTckpy2SAikxgkrtHOQFIGJz+PN1CjvDT++66Opr3AHnwWeSP
 IAjmoVOCiyIBzXlcsZJmAfPa4Hvk+NAPRKCx6N25q/+ESpOZRARWFRV3VuPeGzQW
 +SiC4V9VYWHvW9VPJ37WkAFYv5tPaLLyURdU7p6MSwuc0RCPgtcvXty2QFbjQLdf
 k0apC9DZydQPF2kre6Pv
 =L2Jb
 -----END PGP SIGNATURE-----

Merge tag 'mac80211-for-john-2014-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211

Johannes Berg <johannes@sipsolutions.net> says:

"Here's another last minute fix, for minstrel HT crashing
depending on the value of some uninitialised stack."

Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-11-19 15:44:40 -05:00
Alexei Starovoitov
daaf427c6a bpf: fix arraymap NULL deref and missing overflow and zero size checks
- fix NULL pointer dereference:
kernel/bpf/arraymap.c:41 array_map_alloc() error: potential null dereference 'array'.  (kzalloc returns null)
kernel/bpf/arraymap.c:41 array_map_alloc() error: we previously assumed 'array' could be null (see line 40)

- integer overflow check was missing in arraymap
(hashmap checks for overflow via kmalloc_array())

- arraymap can round_up(value_size, 8) to zero. check was missing.

- hashmap was missing zero size check as well, since roundup_pow_of_two() can
truncate into zero

- found a typo in the arraymap comment and unnecessary empty line

Fix all of these issues and make both overflow checks explicit U32 in size.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-19 15:40:00 -05:00
John W. Linville
ab1f5a532c Merge commit '4e6ce4dc7c' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-11-19 15:38:48 -05:00
Daniel Vetter
71b14ab618 drm/i915: No-Op enter/leave vt gem ioctl
We've killed ums support by now, it's time to reap the benefits. This
one here is getting in the way of doing some ring init cleanup.

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2014-11-19 21:34:30 +01:00
Daniel Vetter
ac883c84e4 drm/i915: Drop checks for initialization
KMS always intializes, this was only a valid check when userspace
was still in control of the kernel driver.

v2: Comment that we outright reject all dri1/ums params.

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-11-19 21:34:18 +01:00
Daniel Vetter
77f31815e1 drm/i915: Replace dri1 functions with drm_noop
Whether we'll reject them or no-op doesn't really matter ...

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-11-19 21:30:48 +01:00
David S. Miller
ddecab1abc linux-can-fixes-for-3.18-20141118
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUa62AAAoJECte4hHFiupU4poP/ioEJ/FE0ODYBWzLkseu1SA3
 l9+Y76SvXb1HJ9g0GMK2Dk71R6GsmxT7cUx2Gn9EwRyFF9hHDq5d3Oz+zGIJxLcj
 GJeVLKEarg74nxFixIb19H5mrfpSP18wvg68BBjLuAiM9zo++AYiJU1jb9hSIU/f
 dkFFaU3/HSBZVbrb152kTO7bMvxzi0fYnlhK8TisZbq6YWMla5oJOAugxT7Ew81L
 fAb3FnZdho/XLXecBLsOtSEnDVv9rD89H0IyYp89pBTmtpzDH6JUR77BBmdN9w/D
 7hHtqjuC0vhBG9xrFq5z5vnbgR3SmxfkTgstsJUyYkAP/R9v3I/LznlHfUp80UrI
 IkJw66iYOZRFo5bORHoY8ID+/2h8b/AcBAwBRXj+RcwjndEZbWl4JOEP1bxYlQG3
 53WIhYLwTcJP1djp2NPWt0Z6Hli/j2KlAYsbunbnNIGmZJovtirWe2+sob/Xvoi2
 FO8kVlbeowT2hu6tMPenQ+qfR7nO9MqK2PMT4NWPcR7a42h7fIHS9JAa2SJVfANJ
 weGvh3RcVOKfiPvmDCZGSlytk+OgEmS5vna/xOoQZP8xIhQ3899MM/Lpz2gIExvU
 mHbxj6nV2DmgljFTCz2T9z5yfhZs+OHd5Nrl048UIt/XIaUIBa0lax9WjqDTY8sZ
 TCH/A/JHILxmpQLOq66N
 =OIH1
 -----END PGP SIGNATURE-----

Merge tag 'linux-can-fixes-for-3.18-20141118' of git://gitorious.org/linux-can/linux-can

Marc Kleine-Budde says:

====================
pull-request: can 2014-11-18

this is a pull request of 17 patches for net/master for the v3.18 release
cycle.

The last patch of this pull request ("can: m_can: update to support CAN FD
features") adds, as the description says, a new feature to the m_can driver. As
the m_can driver has been added in v3.18 there is no risk of causing a
regression. Give me a note if this is not okay and I'll create a new pull
request without it.

There is a patch for the CAN infrastructure by Thomas Körper which fixes
calling kfree_skb() from interrupt context. Roman Fietze fixes a typo also in
the infrastructure. A patch by Dong Aisheng adds a generic helper function to
tell if a skb is normal CAN or CAN-FD frame. Alexey Khoroshilov of the Linux
Driver Verification project fixes a memory leak in the esd_usb2 driver. Two
patches by Sudip Mukherjee remove unused variables and fixe the signess of a
variable. Three patches by me add the missing .ndo_change_mtu callback to the
xilinx_can, rcar_can and gs_usb driver.

The remaining patches improve the m_can driver: David Cohen adds the missing
CONFIG_HAS_IOMEM dependency. Dong Aisheng provides 6 bugfix patches (most
important: missing RAM init, sleep in NAPI poll, dlc in RTR). While the last of
his patches adds CAN FD support to the driver.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-19 15:28:58 -05:00
Markus Elfring
fcd4d35ecc netlink: Deletion of an unnecessary check before the function call "__module_get"
The __module_get() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-19 15:27:40 -05:00
Steven Rostedt (Red Hat)
8e2e095cbe tracing: Fix return value of ftrace_raw_output_prep()
If the trace_seq of ftrace_raw_output_prep() is full this function
returns TRACE_TYPE_PARTIAL_LINE, otherwise it returns zero.

The problem is that TRACE_TYPE_PARTIAL_LINE happens to be zero!

The thing is, the caller of ftrace_raw_output_prep() expects a
success to be zero. Change that to expect it to be
TRACE_TYPE_HANDLED.

Link: http://lkml.kernel.org/r/20141114112522.GA2988@dhcp128.suse.cz

Reminded-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:48 -05:00
Steven Rostedt (Red Hat)
dba39448ab tracing: Remove return values of most trace_seq_*() functions
The trace_seq_printf() and friends are used to store strings into a buffer
that can be passed around from function to function. If the trace_seq buffer
fills up, it will not print any more. The return values were somewhat
inconsistant and using trace_seq_has_overflowed() was a better way to know
if the write to the trace_seq buffer succeeded or not.

Now that all users have removed reading the return value of the printf()
type functions, they can safely return void and keep future users of them
from reading the inconsistent values as well.

Link: http://lkml.kernel.org/r/20141114011411.992510720@goodmis.org

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:47 -05:00
Steven Rostedt (Red Hat)
183742f08c tracing: Do not use return values of trace_seq_printf() in syscall tracing
The functions trace_seq_printf() and friends will not be returning values
soon and will be void functions. To know if they succeeded or not, the
functions trace_seq_has_overflowed() and trace_handle_return() should be
used instead.

Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:46 -05:00
Steven Rostedt (Red Hat)
8579a107a6 tracing/uprobes: Do not use return values of trace_seq_printf()
The functions trace_seq_printf() and friends will soon no longer have
return values. Using trace_seq_has_overflowed() and trace_handle_return()
should be used instead.

Link: http://lkml.kernel.org/r/20141114011411.693008134@goodmis.org
Link: http://lkml.kernel.org/r/20141115050602.333705855@goodmis.org

Reviewed-by: Masami Hiramatsu <masami.hiramatu.pt@hitachi.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:45 -05:00
Steven Rostedt (Red Hat)
d2b0191a38 tracing/probes: Do not use return value of trace_seq_printf()
The functions trace_seq_printf() and friends will soon not have a return
value and will only be a void function. Use trace_seq_has_overflowed()
instead to know if the trace_seq operations succeeded or not.

Link: http://lkml.kernel.org/r/20141114011411.530216306@goodmis.org

Reviewed-by: Petr Mladek <pmladek@suse.cz>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:44 -05:00
Steven Rostedt (Red Hat)
a72e10afab tracing: Do not check return values of trace_seq_p*() for mmio tracer
The return values for trace_seq_printf() and friends are going to be
removed and they will become void functions. The mmio tracer checked
their return and even did so incorrectly.

Some of the funtions which returned the values were never checked
themselves. Removing all the checks simplifies the code.

Use trace_seq_has_overflowed() and trace_handle_return() where
necessary instead.

Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:44 -05:00
Steven Rostedt (Red Hat)
85224da0b8 kprobes/tracing: Use trace_seq_has_overflowed() for overflow checks
Instead of checking the return value of trace_seq_printf() and friends
for overflowing of the buffer, use the trace_seq_has_overflowed() helper
function.

This cleans up the code quite a bit and also takes us a step closer to
changing the return values of trace_seq_printf() and friends to void.

Link: http://lkml.kernel.org/r/20141114011411.181812785@goodmis.org

Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Reviewed-by: Petr Mladek <pmladek@suse.cz>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:43 -05:00
Steven Rostedt (Red Hat)
9d9add34ec tracing: Have function_graph use trace_seq_has_overflowed()
Instead of doing individual checks all over the place that makes the code
very messy. Just check trace_seq_has_overflowed() at the end or in
strategic places.

This makes the code much cleaner and also helps with getting closer
to removing the return values of trace_seq_printf() and friends.

Link: http://lkml.kernel.org/r/20141114011410.987913836@goodmis.org

Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:42 -05:00
Steven Rostedt (Red Hat)
7d40f67165 tracing: Have branch tracer use trace_handle_return() helper function
The branch tracer should not be checking the trace_seq_printf() return value
as that will soon be void. There's a new trace_handle_return() helper function
that will return TRACE_TYPE_PARTIAL_LINE if the trace_seq overflowed
and TRACE_TYPE_HANDLED otherwise.

Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:41 -05:00
Steven Rostedt (Red Hat)
c0cd93aa16 ring-buffer: Remove check of trace_seq_{puts,printf}() return values
Remove checking the return value of all trace_seq_puts(). It was wrong
anyway as only the last return value mattered. But as the trace_seq_puts()
is going to be a void function in the future, we should not be checking
the return value of it anyway.

Just return !trace_seq_has_overflowed() instead.

Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:40 -05:00
Steven Rostedt (Red Hat)
f4a1d08ce6 blktrace/tracing: Use trace_seq_has_overflowed() helper function
Checking the return code of every trace_seq_printf() operation and having
to return early if it overflowed makes the code messy.

Using the new trace_seq_has_overflowed() and trace_handle_return() functions
allows us to clean up the code.

In the future, trace_seq_printf() and friends will be turning into void
functions and not returning a value. The trace_seq_has_overflowed() is to
be used instead. This cleanup allows that change to take place.

Cc: Jens Axboe <axboe@fb.com>
Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 15:25:39 -05:00