1. 26 1月, 2016 7 次提交
    • J
      net: fec: use CONFIG_ARM instead of CONFIG_ARCH_MXC/SOC_IMX28 · 05f3b50e
      Johannes Berg 提交于
      As Arnd Bergmann points out, using CONFIG_ARCH_MXC and/or SOC_IMX28
      is wrong if some other ARM platform uses this device - the operation
      of the driver would depend on an unrelated ARM platform that might
      or might not be set for multi-platform kernels.
      
      Prior to my previous patch, any other platforms using it would have
      been broken already due to having the cbd_datlen/cbd_sc fields in
      the wrong order, but byte ordering correctly, so no such platforms
      can exist and work today.
      
      In any case, it seems likely that only Freescale SoCs use this part,
      and those are little-endian on ARM, so CONFIG_ARM is safe for them.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      05f3b50e
    • S
      defxx: fix build warning · 62f2aaab
      Sudip Mukherjee 提交于
      We are getting many build warnings about:
      'bar_start' may be used uninitialized
      and
      'bar_len' may be used uninitialized
      
      They are not actually uninitialized as dfx_get_bars() will initialize
      them properly. But still lets have them initialized just to satisfy the
      compiler (gcc 4.8.2).
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Acked-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62f2aaab
    • S
      net: macb: fix build warning · 36df7455
      Sudip Mukherjee 提交于
      We are getting build warning about:
      macb.c:2889:13: warning: 'tx_clk' may be used uninitialized in this function
      macb.c:2888:11: warning: 'hclk' may be used uninitialized in this function
      
      In reality they are not used uninitialized as clk_init() will initialize
      them, this patch will just silence the warning.
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      36df7455
    • J
      net: fec: make driver endian-safe · 5cfa3039
      Johannes Berg 提交于
      The driver treats the device descriptors as CPU-endian, which appears
      to be correct with the default endianness on both ARM (typically LE)
      and PowerPC (typically BE) SoCs, indicating that the hardware block
      is generated differently. Add endianness annotations and byteswaps as
      necessary.
      
      It's not clear that the ifdef there really is correct and shouldn't
      just be #ifdef CONFIG_ARM, but I also can't test on anything but the
      i.MX6 HummingBoard where this gets it working with a BE kernel.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5cfa3039
    • R
      net: dsa: fix mv88e6xxx switches · db0e51af
      Russell King 提交于
      Since commit 76e398a6 ("net: dsa: use switchdev obj for VLAN add/del
      ops"), the Marvell 88E6xxx switch has been unable to pass traffic
      between ports - any received traffic is discarded by the switch.
      Taking a port out of bridge mode and configuring a vlan on it also the
      port to start passing traffic.
      
      With the debugfs files re-instated to allow debug of this issue by
      comparing the register settings between the working and non-working
      case, the reason becomes clear:
      
           GLOBAL GLOBAL2 SERDES   0    1    2    3    4    5    6
      - 7:  1111    707f    2001     2    2    2    2    2    0    2
      + 7:  1111    707f    2001     1    1    1    1    1    0    1
      
      Register 7 for the ports is the default vlan tag register, and in the
      non-working setup, it has been set to 2, despite vlan 2 not being
      configured.  This causes the switch to drop all packets coming in to
      these ports.  The working setup has the default vlan tag register set
      to 1, which is the default vlan when none is configured.
      
      Inspection of the code reveals why.  The code prior to this commit
      was:
      
      -		for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) {
      ...
      -			if (!err && vlan->flags & BRIDGE_VLAN_INFO_PVID)
      -				err = ds->drv->port_pvid_set(ds, p->port, vid);
      
      but the new code is:
      
      +	for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) {
      ...
      +	}
      ...
      +	if (pvid)
      +		err = _mv88e6xxx_port_pvid_set(ds, port, vid);
      
      This causes the new code to always set the default vlan to one higher
      than the old code.
      
      Fix this.
      
      Fixes: 76e398a6 ("net: dsa: use switchdev obj for VLAN add/del ops")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db0e51af
    • M
      82xx: FCC: Fixing a bug causing to FCC port lock-up (second try) · 426f0468
      Martin Roth 提交于
      This is an additional patch to the one already submitted recently.
      The previous patch was not complete, and the FCC port lock-up scenario
      has been reproduced in lab.
      I had an opportunity to check the current patch in lab and the FCC
      port lock no longer freezes, while the previous patch still locks-up the
      FCC port.
      The current patch fixes a pointer arithmetic bug (second bug in the same
      line), which leads FCC port lock-up during underrun/collision handling.
      Within the tx_startup() function in mac-fcc.c, the address of last BD is
      not calculated correctly. As a result of wrong calculation of the last BD
      address, the next transmitted BD may be set to an area out of the transmit
      BD ring. This actually causes to port lock-up and it is not recoverable.
      Signed-off-by: NMartin Roth <martin.roth@motorolasolutions.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      426f0468
    • T
      ipv4+ipv6: Make INET*_ESP select CRYPTO_ECHAINIV · 32b6170c
      Thomas Egerer 提交于
      The ESP algorithms using CBC mode require echainiv. Hence INET*_ESP have
      to select CRYPTO_ECHAINIV in order to work properly. This solves the
      issues caused by a misconfiguration as described in [1].
      The original approach, patching crypto/Kconfig was turned down by
      Herbert Xu [2].
      
      [1] https://lists.strongswan.org/pipermail/users/2015-December/009074.html
      [2] http://marc.info/?l=linux-crypto-vger&m=145224655809562&w=2Signed-off-by: NThomas Egerer <hakke_007@gmx.de>
      Acked-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32b6170c
  2. 25 1月, 2016 5 次提交
  3. 22 1月, 2016 16 次提交
  4. 21 1月, 2016 5 次提交
  5. 20 1月, 2016 5 次提交
  6. 19 1月, 2016 2 次提交
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · a200dcb3
      Linus Torvalds 提交于
      Pull virtio barrier rework+fixes from Michael Tsirkin:
       "This adds a new kind of barrier, and reworks virtio and xen to use it.
      
        Plus some fixes here and there"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (44 commits)
        checkpatch: add virt barriers
        checkpatch: check for __smp outside barrier.h
        checkpatch.pl: add missing memory barriers
        virtio: make find_vqs() checkpatch.pl-friendly
        virtio_balloon: fix race between migration and ballooning
        virtio_balloon: fix race by fill and leak
        s390: more efficient smp barriers
        s390: use generic memory barriers
        xen/events: use virt_xxx barriers
        xen/io: use virt_xxx barriers
        xenbus: use virt_xxx barriers
        virtio_ring: use virt_store_mb
        sh: move xchg_cmpxchg to a header by itself
        sh: support 1 and 2 byte xchg
        virtio_ring: update weak barriers to use virt_xxx
        Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb"
        asm-generic: implement virt_xxx memory barriers
        x86: define __smp_xxx
        xtensa: define __smp_xxx
        tile: define __smp_xxx
        ...
      a200dcb3
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · d05d82f7
      Linus Torvalds 提交于
      Pull arch/tile updates from Chris Metcalf:
       "This is a grab bag of changes that includes some NOHZ and
        context-tracking related changes, some debugging improvements,
        JUMP_LABEL support, and some fixes for tilepro allmodconfig support.
      
        We also remove the now-unused node_has_online_mem() definitions both
        for tile's asm/topology.h as well as in linux/topology.h itself"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        numa: remove stale node_has_online_mem() define
        arch/tile: move user_exit() to early kernel entry sequence
        tile: fix bug in setting PT_FLAGS_DISABLE_IRQ on kernel entry
        tile: fix tilepro casts for readl, writel, etc
        tile: fix a -Wframe-larger-than warning
        tile: include the syscall number in the backtrace
        MAINTAINERS: add git URL for tile
        arch/tile: adopt prepare_exit_to_usermode() model from x86
        tile/jump_label: add jump label support for TILE-Gx
        tile: define a macro ktext_writable_addr to get writable kernel text address
      d05d82f7