deliverable/linux.git
7 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Mon, 12 Sep 2016 23:14:57 +0000 (09:14 +1000)] 
Merge remote-tracking branch 'pci/next'

7 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:13:48 +0000 (09:13 +1000)] 
Merge remote-tracking branch 'vfs/for-next'

7 years agoMerge remote-tracking branch 'vfs-miklos/next'
Stephen Rothwell [Mon, 12 Sep 2016 23:05:07 +0000 (09:05 +1000)] 
Merge remote-tracking branch 'vfs-miklos/next'

7 years agoMerge remote-tracking branch 'file-locks/linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:03:35 +0000 (09:03 +1000)] 
Merge remote-tracking branch 'file-locks/linux-next'

7 years agoMerge remote-tracking branch 'overlayfs/overlayfs-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:55:19 +0000 (08:55 +1000)] 
Merge remote-tracking branch 'overlayfs/overlayfs-next'

7 years agoMerge remote-tracking branch 'orangefs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:54:10 +0000 (08:54 +1000)] 
Merge remote-tracking branch 'orangefs/for-next'

7 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:53:01 +0000 (08:53 +1000)] 
Merge remote-tracking branch 'nfsd/nfsd-next'

7 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:51:51 +0000 (08:51 +1000)] 
Merge remote-tracking branch 'nfs/linux-next'

7 years agoMerge remote-tracking branch 'jfs/jfs-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:50:42 +0000 (08:50 +1000)] 
Merge remote-tracking branch 'jfs/jfs-next'

7 years agoMerge remote-tracking branch 'gfs2/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:49:33 +0000 (08:49 +1000)] 
Merge remote-tracking branch 'gfs2/for-next'

7 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:48:23 +0000 (08:48 +1000)] 
Merge remote-tracking branch 'fuse/for-next'

7 years agoMerge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Mon, 12 Sep 2016 22:47:10 +0000 (08:47 +1000)] 
Merge remote-tracking branch 'f2fs/dev'

7 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 12 Sep 2016 22:46:00 +0000 (08:46 +1000)] 
Merge remote-tracking branch 'ext4/dev'

7 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 12 Sep 2016 22:44:28 +0000 (08:44 +1000)] 
Merge remote-tracking branch 'ext3/for_next'

7 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Mon, 12 Sep 2016 22:44:25 +0000 (08:44 +1000)] 
Merge remote-tracking branch 'ecryptfs/next'

7 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:43:13 +0000 (08:43 +1000)] 
Merge remote-tracking branch 'cifs/for-next'

7 years agoMerge remote-tracking branch 'ceph/master'
Stephen Rothwell [Mon, 12 Sep 2016 22:42:03 +0000 (08:42 +1000)] 
Merge remote-tracking branch 'ceph/master'

7 years agoMerge remote-tracking branch 'btrfs-kdave/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:40:51 +0000 (08:40 +1000)] 
Merge remote-tracking branch 'btrfs-kdave/for-next'

7 years agoMerge remote-tracking branch 'befs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:39:40 +0000 (08:39 +1000)] 
Merge remote-tracking branch 'befs/for-next'

7 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Mon, 12 Sep 2016 22:38:29 +0000 (08:38 +1000)] 
Merge remote-tracking branch 'xtensa/for_next'

7 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Mon, 12 Sep 2016 22:38:25 +0000 (08:38 +1000)] 
Merge remote-tracking branch 'unicore32/unicore32'

7 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 12 Sep 2016 22:37:15 +0000 (08:37 +1000)] 
Merge remote-tracking branch 'tile/master'

7 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 12 Sep 2016 22:36:01 +0000 (08:36 +1000)] 
Merge remote-tracking branch 's390/features'

7 years agoMerge remote-tracking branch 'nios2/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:34:45 +0000 (08:34 +1000)] 
Merge remote-tracking branch 'nios2/for-next'

7 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:33:36 +0000 (08:33 +1000)] 
Merge remote-tracking branch 'mips/mips-for-linux-next'

7 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:32:24 +0000 (08:32 +1000)] 
Merge remote-tracking branch 'm68knommu/for-next'

7 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:31:14 +0000 (08:31 +1000)] 
Merge remote-tracking branch 'm68k/for-next'

7 years agoMerge remote-tracking branch 'h8300/h8300-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:31:05 +0000 (08:31 +1000)] 
Merge remote-tracking branch 'h8300/h8300-next'

7 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 22:30:56 +0000 (08:30 +1000)] 
Merge remote-tracking branch 'blackfin/for-linus'

7 years agoMerge remote-tracking branch 'arm64/for-next/core'
Stephen Rothwell [Mon, 12 Sep 2016 22:21:38 +0000 (08:21 +1000)] 
Merge remote-tracking branch 'arm64/for-next/core'

7 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:20:29 +0000 (08:20 +1000)] 
Merge remote-tracking branch 'tegra/for-next'

7 years agoMerge remote-tracking branch 'samsung-krzk/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:19:21 +0000 (08:19 +1000)] 
Merge remote-tracking branch 'samsung-krzk/for-next'

7 years agoMerge remote-tracking branch 'rockchip/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:17:59 +0000 (08:17 +1000)] 
Merge remote-tracking branch 'rockchip/for-next'

7 years agoMerge remote-tracking branch 'renesas/next'
Stephen Rothwell [Mon, 12 Sep 2016 22:16:52 +0000 (08:16 +1000)] 
Merge remote-tracking branch 'renesas/next'

7 years agoMerge remote-tracking branch 'qcom/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:15:44 +0000 (08:15 +1000)] 
Merge remote-tracking branch 'qcom/for-next'

7 years agoMerge remote-tracking branch 'omap/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:14:23 +0000 (08:14 +1000)] 
Merge remote-tracking branch 'omap/for-next'

7 years agoMerge remote-tracking branch 'mvebu/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:13:16 +0000 (08:13 +1000)] 
Merge remote-tracking branch 'mvebu/for-next'

7 years agoMerge remote-tracking branch 'keystone/next'
Stephen Rothwell [Mon, 12 Sep 2016 22:12:09 +0000 (08:12 +1000)] 
Merge remote-tracking branch 'keystone/next'

7 years agoMerge remote-tracking branch 'imx-mxs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:11:01 +0000 (08:11 +1000)] 
Merge remote-tracking branch 'imx-mxs/for-next'

7 years agoMerge remote-tracking branch 'berlin/berlin/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:09:48 +0000 (08:09 +1000)] 
Merge remote-tracking branch 'berlin/berlin/for-next'

7 years agoMerge remote-tracking branch 'bcm2835/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:08:40 +0000 (08:08 +1000)] 
Merge remote-tracking branch 'bcm2835/for-next'

7 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:08:30 +0000 (08:08 +1000)] 
Merge remote-tracking branch 'at91/at91-next'

7 years agoMerge remote-tracking branch 'amlogic/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:06:59 +0000 (08:06 +1000)] 
Merge remote-tracking branch 'amlogic/for-next'

7 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:05:00 +0000 (08:05 +1000)] 
Merge remote-tracking branch 'arm-soc/for-next'

7 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:01:51 +0000 (08:01 +1000)] 
Merge remote-tracking branch 'arm/for-next'

7 years agoMerge remote-tracking branch 'arc/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:00:43 +0000 (08:00 +1000)] 
Merge remote-tracking branch 'arc/for-next'

7 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:50 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

7 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:40 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'crypto-current/master'

7 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:38 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'input-current/for-linus'

7 years agoMerge remote-tracking branch 'usb-serial-fixes/usb-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:36 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'usb-serial-fixes/usb-linus'

7 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:34 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'pci-current/for-linus'

7 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:33 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'sound-current/for-linus'

7 years agoMerge remote-tracking branch 'mac80211/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:32 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'mac80211/master'

7 years agoMerge remote-tracking branch 'netfilter/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:30 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'netfilter/master'

7 years agoMerge remote-tracking branch 'ipsec/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:30 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'ipsec/master'

7 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:27 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'arm-current/fixes'

7 years agonfsd: randomize SETCLIENTID reply to help distinguish servers
J. Bruce Fields [Mon, 12 Sep 2016 20:00:47 +0000 (16:00 -0400)] 
nfsd: randomize SETCLIENTID reply to help distinguish servers

NFSv4.1 has built-in trunking support that allows a client to determine
whether two connections to two different IP addresses are actually to
the same server.  NFSv4.0 does not, but RFC 7931 attempts to provide
clients a means to do this by suggesting that they perform SETCLIENTIDs
to the two servers and comparing the clientids and verifiers.

Linux clients since 05f4c350ee02 "NFS: Discover NFSv4 server trunking
when mounting" implement this suggestion.  It is possible that other
clients do to.

knfsd generates the 64-bit clientid by concatenating the 32-bit boot
time (in seconds) and a counter.  This makes collisions between
clientids generated by the same server extremely unlikely.  But
collisions are very likely between clientids generated by servers that
boot at the same time, and it's quite common for multiple servers to
boot at the same time.  The verifier is generated in the same way, so
has the same problem.

Therefore recent NFSv4.0 clients may decide two different servers are
really the same, and mount a filesystem from the wrong server.

The fault is really with RFC 7931, and needs a client fix, but it's not
clear what that fix will be.  In the meantime, mitigate the chance of
these collisions by randomizing the starting value of the counters used
to generate clientids and verifiers.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
7 years agonetfilter: nf_nat: handle NF_DROP from nfnetlink_parse_nat_setup()
Pablo Neira Ayuso [Fri, 9 Sep 2016 13:38:12 +0000 (15:38 +0200)] 
netfilter: nf_nat: handle NF_DROP from nfnetlink_parse_nat_setup()

nf_nat_setup_info() returns NF_* verdicts, so convert them to error
codes that is what ctnelink expects. This has passed overlook without
having any impact since this nf_nat_setup_info() has always returned
NF_ACCEPT so far. Since 870190a9ec90 ("netfilter: nat: convert nat bysrc
hash to rhashtable"), this is problem.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agoMerge branch 'devel-stable' into for-next
Russell King [Mon, 12 Sep 2016 15:03:06 +0000 (16:03 +0100)] 
Merge branch 'devel-stable' into for-next

7 years agoMerge branches 'fixes' and 'misc' into for-next
Russell King [Mon, 12 Sep 2016 15:03:01 +0000 (16:03 +0100)] 
Merge branches 'fixes' and 'misc' into for-next

7 years agoMerge tag 'arm-plt-optimizations-for-v4.9' of git://git.linaro.org/people/ard.biesheu...
Russell King [Wed, 7 Sep 2016 16:15:23 +0000 (17:15 +0100)] 
Merge tag 'arm-plt-optimizations-for-v4.9' of git://git.linaro.org/people/ard.biesheuvel/linux-arm into devel-stable

This series of 4 patches optimizes the ARM PLT generation code that
is invoked at module load time, to get rid of the O(n^2) algorithm
that results in pathological load times of 10 seconds or more for
large modules on certain STB platforms

7 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Linus Torvalds [Mon, 12 Sep 2016 14:56:06 +0000 (07:56 -0700)] 
Merge git://git./linux/kernel/git/davem/net

Pull networking fixes from David Miller:
 "Mostly small sets of driver fixes scattered all over the place.

   1) Mediatek driver fixes from Sean Wang.  Forward port not written
      correctly during TX map, missed handling of EPROBE_DEFER, and
      mistaken use of put_page() instead of skb_free_frag().

   2) Fix socket double-free in KCM code, from WANG Cong.

   3) QED driver fixes from Sudarsana Reddy Kalluru, including a fix for
      using the dcbx buffers before initializing them.

   4) Mellanox Switch driver fixes from Jiri Pirko, including a fix for
      double fib removals and an error handling fix in
      mlxsw_sp_module_init().

   5) Fix kernel panic when enabling LLDP in i40e driver, from Dave
      Ertman.

   6) Fix padding of TSO packets in thunderx driver, from Sunil Goutham.

   7) TCP's rcv_wup not initialized properly when using fastopen, from
      Neal Cardwell.

   8) Don't use uninitialized flow keys in flow dissector, from Gao
      Feng.

   9) Use after free in l2tp module unload, from Sabrina Dubroca.

  10) Fix interrupt registry ordering issues in smsc911x driver, from
      Jeremy Linton.

  11) Fix crashes in bonding having to do with enslaving and rx_handler,
      from Mahesh Bandewar.

  12) AF_UNIX deadlock fixes from Linus.

  13) In mlx5 driver, don't read skb->xmit_mode after it might have been
      freed from the TX reclaim path.  From Tariq Toukan.

  14) Fix a bug from 2015 in TCP Yeah where the congestion window does
      not increase, from Artem Germanov.

  15) Don't pad frames on receive in NFP driver, from Jakub Kicinski.

  16) Fix chunk fragmenting in SCTP wrt. GSO, from Marcelo Ricardo
      Leitner.

  17) Fix deletion of VRF routes, from Mark Tomlinson.

  18) Fix device refcount leak when DAD fails in ipv6, from Wei Yongjun"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
  net/mlx4_en: Fix panic on xmit while port is down
  net/mlx4_en: Fixes for DCBX
  net/mlx4_en: Fix the return value of mlx4_en_dcbnl_set_state()
  net/mlx4_en: Fix the return value of mlx4_en_dcbnl_set_all()
  net: ethernet: renesas: sh_eth: add POST registers for rz
  drivers: net: phy: mdio-xgene: Add hardware dependency
  dwc_eth_qos: do not register semi-initialized device
  sctp: identify chunks that need to be fragmented at IP level
  mlxsw: spectrum: Set port type before setting its address
  mlxsw: spectrum_router: Fix error path in mlxsw_sp_router_init
  nfp: don't pad frames on receive
  nfp: drop support for old firmware ABIs
  nfp: remove linux/version.h includes
  tcp: cwnd does not increase in TCP YeAH
  net/mlx5e: Fix parsing of vlan packets when updating lro header
  net/mlx5e: Fix global PFC counters replication
  net/mlx5e: Prevent casting overflow
  net/mlx5e: Move an_disable_cap bit to a new position
  net/mlx5e: Fix xmit_more counter race issue
  tcp: fastopen: avoid negative sk_forward_alloc
  ...

7 years agoARM: pxa/lubbock: add pcmcia clock
Russell King [Sun, 4 Sep 2016 20:45:56 +0000 (21:45 +0100)] 
ARM: pxa/lubbock: add pcmcia clock

Add the required PCMCIA clock for the SA1111 "1800" device.  This clock
is used to compute timing information for the PCMCIA interface in the
SoC device, rather than the SA1111.  Hence, the provision of this clock
is a convenience for the driver and does not reflect the hardware, so
this must not be copied into DT.

Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: locomo: fix locomo irq handling
Russell King [Fri, 2 Sep 2016 21:08:45 +0000 (22:08 +0100)] 
ARM: locomo: fix locomo irq handling

Accidentally booting Collie on Assabet reveals that the locomo driver
incorrectly overwrites gpio-sa1100's chip data for its parent interrupt,
leading to oops in sa1100_gpio_unmask() and sa1100_update_edge_regs()
when "gpio: sa1100: convert to use IO accessors" is applied.  Fix locomo
to use the handler data rather than chip data for its parent interrupt.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: 8612/1: LPAE: initialize cache policy correctly
Stefan Agner [Wed, 7 Sep 2016 20:56:09 +0000 (21:56 +0100)] 
ARM: 8612/1: LPAE: initialize cache policy correctly

The cachepolicy variable gets initialized using a masked pmd
value. So far, the pmd has been masked with flags valid for the
2-page table format, but the 3-page table format requires a
different mask. On LPAE, this lead to a wrong assumption of what
initial cache policy has been used. Later a check forces the
cache policy to writealloc and prints the following warning:
Forcing write-allocate cache policy for SMP

This patch introduces a new definition PMD_SECT_CACHE_MASK for
both page table formats which masks in all cache flags in both
cases.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
7 years agomac80211: make mpath path fixing more robust
Pedersen, Thomas [Tue, 6 Sep 2016 18:59:00 +0000 (11:59 -0700)] 
mac80211: make mpath path fixing more robust

A fixed mpath was not quite being treated as such:

1) if a PERR frame was received, a fixed mpath was
   deactivated.

2) queued path discovery for fixed mpath was potentially
   being considered, changing mpath state.

3) other mpath flags were potentially being inherited when
   fixing the mpath. Just assign PATH_FIXED and SN_VALID.

This solves several issues when fixing a mesh path in one
direction. The reverse direction mpath should probably
also be fixed, or root announcements at least be enabled.

Signed-off-by: Thomas Pedersen <twp@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
7 years agoMerge branches 'fixes-pcmcia' and 'fixes-sa1111' into fixes
Russell King [Mon, 12 Sep 2016 10:19:04 +0000 (11:19 +0100)] 
Merge branches 'fixes-pcmcia' and 'fixes-sa1111' into fixes

7 years agoARM: sa1111: fix missing clk_disable()
Russell King [Tue, 6 Sep 2016 15:09:17 +0000 (16:09 +0100)] 
ARM: sa1111: fix missing clk_disable()

SA1111 forgets to call clk_disable() in the probe error cleanup path.
Add the necessary call.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: sa1111: fix pcmcia suspend/resume
Russell King [Tue, 6 Sep 2016 13:34:05 +0000 (14:34 +0100)] 
ARM: sa1111: fix pcmcia suspend/resume

SA1111 PCMCIA was broken when PCMCIA switched to using dev_pm_ops for
the PCMCIA socket class.  PCMCIA used to handle suspend/resume via the
socket hosting device, which happened at normal device suspend/resume
time.

However, the referenced commit changed this: much of the resume now
happens much earlier, in the noirq resume handler of dev_pm_ops.

However, on SA1111, the PCMCIA device is not accessible as the SA1111
has not been resumed at _noirq time.  It's slightly worse than that,
because the SA1111 has already been put to sleep at _noirq time, so
suspend doesn't work properly.

Fix this by converting the core SA1111 code to use dev_pm_ops as well,
and performing its own suspend/resume at noirq time.

This fixes these errors in the kernel log:

pcmcia_socket pcmcia_socket0: time out after reset
pcmcia_socket pcmcia_socket1: time out after reset

and the resulting lack of PCMCIA cards after a S2RAM cycle.

Fixes: d7646f7632549 ("pcmcia: use dev_pm_ops for class pcmcia_socket_class")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: sa1111: fix pcmcia interrupt mask polarity
Russell King [Tue, 6 Sep 2016 13:21:46 +0000 (14:21 +0100)] 
ARM: sa1111: fix pcmcia interrupt mask polarity

The polarity of the high IRQs was being calculated using
SA1111_IRQMASK_HI(), but this assumes a Linux interrupt number, not a
hardware interrupt number.  Hence, the resulting mask was incorrect.
Fix this.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: sa1111: fix error code propagation in sa1111_probe()
Russell King [Sat, 3 Sep 2016 09:21:51 +0000 (10:21 +0100)] 
ARM: sa1111: fix error code propagation in sa1111_probe()

Ensure that we propagate the platform_get_irq() error code out of the
probe function.  This allows probe deferrals to work correctly should
platform_get_irq() not be able to resolve the interrupt in a DT
environment at probe time.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agopcmcia: lubbock: fix sockets configuration
Robert Jarzmik [Thu, 1 Sep 2016 06:31:08 +0000 (08:31 +0200)] 
pcmcia: lubbock: fix sockets configuration

On lubbock board, the probe of the driver crashes by dereferencing very
early a platform_data structure which is not set, in
pxa2xx_configure_sockets().

The stack fixed is :
[    0.244353] SA1111 Microprocessor Companion Chip: silicon revision 1, metal revision 1
[    0.256321] sa1111 sa1111: Providing IRQ336-390
[    0.340899] clocksource: Switched to clocksource oscr0
[    0.472263] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[    0.480469] pgd = c0004000
[    0.483432] [00000004] *pgd=00000000
[    0.487105] Internal error: Oops: f5 [#1] ARM
[    0.491497] Modules linked in:
[    0.494650] CPU: 0 PID: 1 Comm: swapper Not tainted 4.8.0-rc3-00080-g1aaa68426f0c-dirty #2068
[    0.503229] Hardware name: Intel DBPXA250 Development Platform (aka Lubbock)
[    0.510344] task: c3e42000 task.stack: c3e44000
[    0.514984] PC is at pxa2xx_configure_sockets+0x4/0x24 (drivers/pcmcia/pxa2xx_base.c:227)
[    0.520193] LR is at pcmcia_lubbock_init+0x1c/0x38
[    0.525079] pc : [<c0247c30>]    lr : [<c02479b0>]    psr: a0000053
[    0.525079] sp : c3e45e70  ip : 100019ff  fp : 00000000
[    0.536651] r10: c0828900  r9 : c0434838  r8 : 00000000
[    0.541953] r7 : c0820700  r6 : c0857b30  r5 : c3ec1400  r4 : c0820758
[    0.548549] r3 : 00000000  r2 : 0000000c  r1 : c3c09c40  r0 : c3ec1400
[    0.555154] Flags: NzCv  IRQs on  FIQs off  Mode SVC_32  ISA ARM  Segment none
[    0.562450] Control: 0000397f  Table: a0004000  DAC: 00000053
[    0.568257] Process swapper (pid: 1, stack limit = 0xc3e44190)
[    0.574154] Stack: (0xc3e45e70 to 0xc3e46000)
[    0.578610] 5e60:                                     c4849800 00000000 c3ec1400 c024769c
[    0.586928] 5e80: 00000000 c3ec140c c3c0ee0c c3ec1400 c3ec1434 c020c410 c3ec1400 c3ec1434
[    0.595244] 5ea0: c0820700 c080b408 c0828900 c020c5f8 00000000 c0820700 c020c578 c020ac5c
[    0.603560] 5ec0: c3e687cc c3e71e10 c0820700 00000000 c3c02de0 c020bae4 c03c62f7 c03c62f7
[    0.611872] 5ee0: c3e68780 c0820700 c042e034 00000000 c043c440 c020cdec c080b408 00000005
[    0.620188] 5f00: c042e034 c00096c0 c0034440 c01c730c 20000053 ffffffff 00000000 00000000
[    0.628502] 5f20: 00000000 c3ffcb87 c3ffcb90 c00346ac c3e66ba0 c03f7914 00000092 00000005
[    0.636811] 5f40: 00000005 c03f847c 00000091 c03f847c 00000000 00000005 c0434828 00000005
[    0.645125] 5f60: c043482c 00000092 c043c440 c0828900 c0434838 c0418d2c 00000005 00000005
[    0.653430] 5f80: 00000000 c041858c 00000000 c032e9f0 00000000 00000000 00000000 00000000
[    0.661729] 5fa0: 00000000 c032e9f8 00000000 c000f0f0 00000000 00000000 00000000 00000000
[    0.670020] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    0.678311] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    0.686673] (pxa2xx_configure_sockets) from pcmcia_lubbock_init (/drivers/pcmcia/sa1111_lubbock.c:161)
[    0.696026] (pcmcia_lubbock_init) from pcmcia_probe (/drivers/pcmcia/sa1111_generic.c:213)
[    0.704358] (pcmcia_probe) from driver_probe_device (/drivers/base/dd.c:378 /drivers/base/dd.c:499)
[    0.712848] (driver_probe_device) from __driver_attach (/./include/linux/device.h:983 /drivers/base/dd.c:733)
[    0.721414] (__driver_attach) from bus_for_each_dev (/drivers/base/bus.c:313)
[    0.729723] (bus_for_each_dev) from bus_add_driver (/drivers/base/bus.c:708)
[    0.738036] (bus_add_driver) from driver_register (/drivers/base/driver.c:169)
[    0.746185] (driver_register) from do_one_initcall (/init/main.c:778)
[    0.754561] (do_one_initcall) from kernel_init_freeable (/init/main.c:843 /init/main.c:851 /init/main.c:869 /init/main.c:1016)
[    0.763409] (kernel_init_freeable) from kernel_init (/init/main.c:944)
[    0.771660] (kernel_init) from ret_from_fork (/arch/arm/kernel/entry-common.S:119)
[ 0.779347] Code: c03c6305 c03c631e c03c632e e5903048 (e993000c)
All code
========
   0: c03c6305  eorsgt r6, ip, r5, lsl #6
   4: c03c631e  eorsgt r6, ip, lr, lsl r3
   8: c03c632e  eorsgt r6, ip, lr, lsr #6
   c: e5903048  ldr r3, [r0, #72] ; 0x48
  10:* e993000c  ldmib r3, {r2, r3} <-- trapping instruction

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agopcmcia: sa1111: fix propagation of lowlevel board init return code
Russell King [Fri, 2 Sep 2016 09:14:20 +0000 (10:14 +0100)] 
pcmcia: sa1111: fix propagation of lowlevel board init return code

When testing Lubbock, it was noticed that the sa1111 pcmcia driver bound
but was not functional due to no sockets being registered.  This is
because the return code from the lowlevel board initialisation was not
being propagated out of the probe function.  Fix this.

Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agopcmcia: soc_common: fix SS_STSCHG polarity
Russell King [Wed, 31 Aug 2016 07:49:43 +0000 (08:49 +0100)] 
pcmcia: soc_common: fix SS_STSCHG polarity

SS_STSCHG should be set for an IO card when the BVD1 signal is asserted
low, not high.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agopcmcia: sa11xx_base: add units to the timing information
Russell King [Wed, 31 Aug 2016 07:49:43 +0000 (08:49 +0100)] 
pcmcia: sa11xx_base: add units to the timing information

Add units to the timing information, so we know that the numbers are
nanoseconds.  The output changes from:

I/O      : 165 (172)
attribute: 300 (316)
common   : 300 (316)

to:

I/O      : 165ns (172ns)
attribute: 300ns (316ns)
common   : 300ns (316ns)

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agopcmcia: sa11xx_base: fix reporting of timing information
Russell King [Wed, 31 Aug 2016 07:49:43 +0000 (08:49 +0100)] 
pcmcia: sa11xx_base: fix reporting of timing information

Fix the reporting of the currently programmed timing information.  These
entries have been showing zero due to the clock rate being a factor of
1000 too big.  With this change, we go from:

I/O      : 165 (0)
attribute: 300 (0)
common   : 300 (0)

to:

I/O      : 165 (172)
attribute: 300 (316)
common   : 300 (316)

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agopcmcia: ds: fix suspend/resume
Russell King [Wed, 31 Aug 2016 07:49:43 +0000 (08:49 +0100)] 
pcmcia: ds: fix suspend/resume

PCMCIA suspend/resume no longer works since the commit mentioned below,
as the callbacks are no longer made.  Convert the driver to the new
dev_pm_ops, which restores the suspend/resume functionality.  Tested on
the arm arch Assabet platform.

Fixes: aa8e54b559479 ("PM / sleep: Go direct_complete if driver has no callbacks")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agomac80211: fix sequence number assignment for PS response frames
Felix Fietkau [Sun, 4 Sep 2016 16:00:59 +0000 (18:00 +0200)] 
mac80211: fix sequence number assignment for PS response frames

When using intermediate queues, sequence number allocation is deferred
until dequeue. This doesn't work for PS response frames, which bypass
those queues.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
7 years agomac80211: fix tim recalculation after PS response
Felix Fietkau [Sun, 28 Aug 2016 11:10:37 +0000 (13:10 +0200)] 
mac80211: fix tim recalculation after PS response

Handle the case where the mac80211 intermediate queues are empty and the
driver has buffered frames

Fixes: ba8c3d6f16a1 ("mac80211: add an intermediate software queue implementation")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
7 years agoarm64/kvm: use alternative auto-nop
Mark Rutland [Wed, 7 Sep 2016 10:07:10 +0000 (11:07 +0100)] 
arm64/kvm: use alternative auto-nop

Make use of the new alternative_if and alternative_else_nop_endif and
get rid of our open-coded NOP sleds, making the code simpler to read.

Note that for __kvm_call_hyp the branch to __vhe_hyp_call has been moved
out of the alternative sequence, and in the default case there will be
four additional NOPs executed.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
7 years agoarm64: use alternative auto-nop
Mark Rutland [Wed, 7 Sep 2016 10:07:09 +0000 (11:07 +0100)] 
arm64: use alternative auto-nop

Make use of the new alternative_if and alternative_else_nop_endif and
get rid of our homebew NOP sleds, making the code simpler to read.

Note that for cpu_do_switch_mm the ret has been moved out of the
alternative sequence, and in the default case there will be three
additional NOPs executed.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
7 years agoarm64: alternative: add auto-nop infrastructure
Mark Rutland [Wed, 7 Sep 2016 10:07:08 +0000 (11:07 +0100)] 
arm64: alternative: add auto-nop infrastructure

In some cases, one side of an alternative sequence is simply a number of
NOPs used to balance the other side. Keeping track of this manually is
tedious, and the presence of large chains of NOPs makes the code more
painful to read than necessary.

To ameliorate matters, this patch adds a new alternative_else_nop_endif,
which automatically balances an alternative sequence with a trivial NOP
sled.

In many cases, we would like a NOP-sled in the default case, and
instructions patched in in the presence of a feature. To enable the NOPs
to be generated automatically for this case, this patch also adds a new
alternative_if, and updates alternative_else and alternative_endif to
work with either alternative_if or alternative_endif.

Cc: Andre Przywara <andre.przywara@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Martin <dave.martin@arm.com>
Cc: James Morse <james.morse@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
[will: use new nops macro to generate nop sequences]
Signed-off-by: Will Deacon <will.deacon@arm.com>
7 years agoUSB: serial: simple: add support for another Infineon flashloader
Daniele Palmas [Fri, 2 Sep 2016 08:37:56 +0000 (10:37 +0200)] 
USB: serial: simple: add support for another Infineon flashloader

This patch adds support for Infineon flashloader 0x8087/0x0801.

The flashloader is used in Telit LE940B modem family with Telit
flashing application.

Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
7 years agom68knommu: convert printk(KERN_INFO) to pr_info()
Greg Ungerer [Fri, 9 Sep 2016 07:01:06 +0000 (17:01 +1000)] 
m68knommu: convert printk(KERN_INFO) to pr_info()

The old style use of printk(KERN_INFO) is depracated. Convert use of it
in setup_no.c to the modern pr_info().

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68knommu: clean up uClinux boot log output
Greg Ungerer [Mon, 5 Sep 2016 05:33:50 +0000 (15:33 +1000)] 
m68knommu: clean up uClinux boot log output

During the arch setup phase of kernel boot we print out in the boot banner
that we are uClinux configured. The printk currently contains a bunch of
useless newlines and carriage returns - producing wastefull empty lines.
Remove these.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: generalize uboot command line support
Greg Ungerer [Mon, 5 Sep 2016 05:23:50 +0000 (15:23 +1000)] 
m68k: generalize uboot command line support

The uboot command line support needs to be used by both MMU and no-MMU
setups, but currently we only have the code in the no-MMU code paths.
Move the uboot command line processing code into its own file. Add
appropriate calls to it from both the MMU and no-MMU arch setup code.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
7 years agom68k: don't panic if no hardware FPU defined
Greg Ungerer [Mon, 29 Aug 2016 07:12:32 +0000 (17:12 +1000)] 
m68k: don't panic if no hardware FPU defined

If we boot up and find no hardware FPU we panic and die.

Change this behavior to be that if we boot up and we _expect_ a hardware
FPU to be present then panic. Don't panic if we don't actually expect to
have any hardware FPU.

This lets us compile a kernel without FPU if we really choose too.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: only generate FPU instructions if CONFIG_FPU enabled
Greg Ungerer [Mon, 29 Aug 2016 07:01:24 +0000 (17:01 +1000)] 
m68k: only generate FPU instructions if CONFIG_FPU enabled

Most of the m68k code that supports a hardware FPU is surrounded by
CONFIG_FPU. Be consistent and surround the hardware FPU instruction
setup in setup_mm.c with CONFIG_FPU as well as the check for
CONFIG_M68KFPU_EMU_ONLY.

The existing classic m68k architectures all define CONFIG_FPU, so they
see no change from this. But on ColdFire where we do not support the
emulated FP code we can now compile without CONFIG_FPU being set as well.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: always make available dump_fpu()
Greg Ungerer [Mon, 29 Aug 2016 06:43:51 +0000 (16:43 +1000)] 
m68k: always make available dump_fpu()

Our local m68k architecture dump_fpu() is conditionally compiled in on
CONFIG_FPU. That is OK for all existing MMU enabled CPU types, but won't
handle the case for some ColdFire SoC CPU parts that we want to support
that have no FPU hardware.

dump_fpu() is expected to be present by the ELF loader, so we must always
have it available and exported.

Remove the conditional and reorganize the dump_fpu hard FPU code path
to let the compiler remove code when not needed.

This change based on changes and discussion from Yannick Gicquel
<yannick.gicquel@open.eurogiciel.org>.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: generalize io memory region setup for ColdFire ACR registers
Greg Ungerer [Fri, 26 Aug 2016 05:59:30 +0000 (15:59 +1000)] 
m68k: generalize io memory region setup for ColdFire ACR registers

The ACR registers of the ColdFire define at a macro level what regions
of the addresses space should have caching or other attribute types applied.

Currently for the MMU enabled setups we map the interal IO peripheral addres
space as uncachable based on the define for the MBAR address (CONFIG_MBAR).
Not all ColdFire SoC use a programmable MBAR register address. Some parts
have fixed addressing for their internal peripheral registers.

Generalize the way we get the internal peripheral base address so all types
can be accomodated in the ACR definitions. Each ColdFire SoC type now sets
its IO memory base and size definitions (which may be based on MBAR) which
are then used in the ACR definitions.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: move ColdFire _bootmem_alloc code
Greg Ungerer [Fri, 26 Aug 2016 04:24:27 +0000 (14:24 +1000)] 
m68k: move ColdFire _bootmem_alloc code

The early ColdFire bootmem_alloc() code is currently only included in
the board support for the Coldire 54xx platforms. It will be used on all
ColdFire MMU enabled platforms as others are supported. So move the
mcf54xx_bootmem_alloc() function to be generally available to all MMU
enabled ColdFire parts (and use a more generic name for it).

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: report correct FPU type on ColdFire MMU platforms
Greg Ungerer [Thu, 25 Aug 2016 13:12:22 +0000 (23:12 +1000)] 
m68k: report correct FPU type on ColdFire MMU platforms

Not all ColdFire SoC parts that have an MMU also have an FPU - so set
an FPU type (via m68k_fputype) appropriate for the configured platform.

With this set correctly /proc/cpuinfo will report FPU "none" on devices
that don't have one. And kernel code paths that initialize FPU hardware
will now only execute if an FPU is actually present.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: set appropriate machine type for m5411x SoC platforms
Greg Ungerer [Thu, 25 Aug 2016 13:10:59 +0000 (23:10 +1000)] 
m68k: set appropriate machine type for m5411x SoC platforms

Create a new machine type for platforms based around the ColdFire 5441x
SoC family. Set that machine type on startup when building for this
platform type.

Currently the ColdFire head.S hard codes a M54xx machine type at startup -
since that is the only platform type currently supported with MMU enabled.
The m5441x has an MMU and this change forms part of the support required
to run it with the MMU enabled.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68k: move CONFIG_FPU set to per-CPU configuration
Greg Ungerer [Wed, 24 Aug 2016 03:32:01 +0000 (13:32 +1000)] 
m68k: move CONFIG_FPU set to per-CPU configuration

Move the selection of CONFIG_FPU to each CPU type configuration.

Currently for m68k we have a global set of CONFIG_FPU based on if CONFIG_MMU
is enabled or not. There is at least one CPU family we support (m5441x)
that has an MMU but has no FPU hardware. So we need to be able to have
CONFIG_MMU set and CONFIG_FPU not set.

Whether we build for a CPU with MMU enabled or not doesn't change the
fact that it has FPU hardware support. Our current non-MMU builds have
never had CONIG_FPU enabled - and in fact the kernel will not compile
with that set and CONFIG_MMU not set at the moment. It is easy enough
to fix this - but it would involve a structure change to sigcontext.h,
and that is a user space exported header (so ABI change).

This change makes no configuration visible changes, and all configs
end up with the same configuration settings as before.

This change based on changes and discussion from Yannick Gicquel
<yannick.gicquel@open.eurogiciel.org>.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68knommu: fix IO write size in nettel pin set
Greg Ungerer [Tue, 23 Aug 2016 11:46:06 +0000 (21:46 +1000)] 
m68knommu: fix IO write size in nettel pin set

The pin write code that supports the UART signals is not using he correct
word write IO access method. It correctly reads the correct 16 bit
registrer, it should also write the new value back with a 16 bit write.
Fix it to use writew().

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68knommu: switch to using IO access methods in WildFire board code
Greg Ungerer [Tue, 23 Aug 2016 11:27:16 +0000 (21:27 +1000)] 
m68knommu: switch to using IO access methods in WildFire board code

Most ColdFire support code has switched to using IO memory access
methods (readb/writeb/etc) when reading and writing internal peripheral
device registers. The WildFire board specific halt code was missed.

As it is now the WildFire code is broken, since all register definitions
were changed to be register addresses only some time ago.

Fix the WildFire board code to use the appropriate IO access functions.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agom68knommu: fix early setup to not access variables
Greg Ungerer [Tue, 23 Aug 2016 06:29:43 +0000 (16:29 +1000)] 
m68knommu: fix early setup to not access variables

The early setup code for the ColdFire 53xx platform accesses variables
before the RAM and other system initialization steps may have taken place.
Currently it has 2 global variables that will end up in the bss section
that are accessed during this early setup. There is a special static RAM
stack setup at this time, but not necessarily the RAM where kernel data
sections will end up.

Even on system setups where RAM is setup by a boot loader the access
to the early setup variables is before the BSS section has been initialized.
This can potentially corrupt a ram loaded root filesystem that sits in that
memory area before it has been moved.

These 2 variables are not used at all after being set, and can just be
removed.

Reported-by: Christian Gieseler <christiangieseler@yahoo.de>
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
7 years agoLinux 4.8-rc6
Linus Torvalds [Mon, 12 Sep 2016 03:02:25 +0000 (20:02 -0700)] 
Linux 4.8-rc6

7 years agoMerge branch 'mlx4-fixes'
David S. Miller [Mon, 12 Sep 2016 02:40:26 +0000 (19:40 -0700)] 
Merge branch 'mlx4-fixes'

Tariq Toukan says:

====================
mlx4 fixes

This patchset contains several bug fixes from the team to the
mlx4 Eth driver.

Series generated against net commit:
c2f57fb97da5 "drivers: net: phy: mdio-xgene: Add hardware dependency"

v2:
* excluded some cleanup patches.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
7 years agonet/mlx4_en: Fix panic on xmit while port is down
Moshe Shemesh [Sun, 11 Sep 2016 07:56:20 +0000 (10:56 +0300)] 
net/mlx4_en: Fix panic on xmit while port is down

When port is down, tx drop counter update is not needed.
Updating the counter in this case can cause a kernel
panic as when the port is down, ring can be NULL.

Fixes: 63a664b7e92b ("net/mlx4_en: fix tx_dropped bug")
Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This page took 0.046251 seconds and 5 git commands to generate.