1. 16 Dec, 2014 17 commits
    • Ido Shamay's avatar
      net/mlx4: Cache line CQE/EQE stride fixes · c3f2511f
      Ido Shamay authored
      This commit contains 2 fixes for the 128B CQE/EQE stride feaure.
      Wei found that mlx4_QUERY_HCA function marked the wrong capability
      in flags (64B CQE/EQE), when CQE/EQE stride feature was enabled.
      Also added small fix in initial CQE ownership bit assignment, when CQE
      is size is not default 32B.
      
      Fixes: 77507aa2 (net/mlx4: Enable CQE/EQE stride support)
      Signed-off-by: default avatarWei Yang <weiyang@linux.vnet.ibm.com>
      Signed-off-by: default avatarIdo Shamay <idos@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3f2511f
    • Nimrod Andy's avatar
      net: fec: Fix NAPI race · 94191fd6
      Nimrod Andy authored
      Do camera capture test on i.MX6q sabresd board, and save the capture data to
      nfs rootfs. The command is:
      gst-launch-1.0 -e imxv4l2src device=/dev/video1 num-buffers=2592000 ! tee name=t !
      queue ! imxv4l2sink sync=false t. ! queue ! vpuenc ! queue ! mux. pulsesrc num-buffers=3720937
      blocksize=4096 ! 'audio/x-raw, rate=44100, channels=2' ! queue ! imxmp3enc ! mpegaudioparse !
      queue ! mux. qtmux name=mux ! filesink location=video_recording_long.mov
      
      After about 10 hours running, there have net watchdog timeout kernel dump:
      ...
      WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0x2b4/0x2d8()
      NETDEV WATCHDOG: eth0 (fec): transmit queue 0 timed out
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.24-01051-gdb840b7 #440
      [<80014e6c>] (unwind_backtrace) from [<800118ac>] (show_stack+0x10/0x14)
      [<800118ac>] (show_stack) from [<806ae3f0>] (dump_stack+0x78/0xc0)
      [<806ae3f0>] (dump_stack) from [<8002b504>] (warn_slowpath_common+0x68/0x8c)
      [<8002b504>] (warn_slowpath_common) from [<8002b558>] (warn_slowpath_fmt+0x30/0x40)
      [<8002b558>] (warn_slowpath_fmt) from [<8055e0d4>] (dev_watchdog+0x2b4/0x2d8)
      [<8055e0d4>] (dev_watchdog) from [<800352d8>] (call_timer_fn.isra.33+0x24/0x8c)
      [<800352d8>] (call_timer_fn.isra.33) from [<800354c4>] (run_timer_softirq+0x184/0x220)
      [<800354c4>] (run_timer_softirq) from [<8002f420>] (__do_softirq+0xc0/0x22c)
      [<8002f420>] (__do_softirq) from [<8002f804>] (irq_exit+0xa8/0xf4)
      [<8002f804>] (irq_exit) from [<8000ee5c>] (handle_IRQ+0x54/0xb4)
      [<8000ee5c>] (handle_IRQ) from [<80008598>] (gic_handle_irq+0x28/0x5c)
      [<80008598>] (gic_handle_irq) from [<800123c0>] (__irq_svc+0x40/0x74)
      Exception stack(0x80d27f18 to 0x80d27f60)
      7f00:                                                       80d27f60 0000014c
      7f20: 8858c60e 0000004d 884e4540 0000004d ab7250d0 80d34348 00000000 00000000
      7f40: 00000001 00000000 00000017 80d27f60 800702a4 80476e6c 600f0013 ffffffff
      [<800123c0>] (__irq_svc) from [<80476e6c>] (cpuidle_enter_state+0x50/0xe0)
      [<80476e6c>] (cpuidle_enter_state) from [<80476fa8>] (cpuidle_idle_call+0xac/0x154)
      [<80476fa8>] (cpuidle_idle_call) from [<8000f174>] (arch_cpu_idle+0x8/0x44)
      [<8000f174>] (arch_cpu_idle) from [<80064c54>] (cpu_startup_entry+0x100/0x158)
      [<80064c54>] (cpu_startup_entry) from [<80cd8a9c>] (start_kernel+0x304/0x368)
      ---[ end trace 09ebd32fb032f86d ]---
      ...
      
      There might have a race in napi_schedule(), leaving interrupts disabled forever.
      After these patch, the case still work more than 40 hours running.
      Signed-off-by: default avatarFugang Duan <B38611@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      94191fd6
    • David Vrabel's avatar
      xen-netfront: use napi_complete() correctly to prevent Rx stalling · 6a6dc08f
      David Vrabel authored
      After d75b1ade (net: less interrupt
      masking in NAPI) the napi instance is removed from the per-cpu list
      prior to calling the n->poll(), and is only requeued if all of the
      budget was used.  This inadvertently broke netfront because netfront
      does not use NAPI correctly.
      
      If netfront had not used all of its budget it would do a final check
      for any Rx responses and avoid calling napi_complete() if there were
      more responses.  It would still return under budget so it would never
      be rescheduled.  The final check would also not re-enable the Rx
      interrupt.
      
      Additionally, xenvif_poll() would also call napi_complete() /after/
      enabling the interrupt.  This resulted in a race between the
      napi_complete() and the napi_schedule() in the interrupt handler.  The
      use of local_irq_save/restore() avoided by race iff the handler is
      running on the same CPU but not if it was running on a different CPU.
      
      Fix both of these by always calling napi_compete() if the budget was
      not all used, and then calling napi_schedule() if the final checks
      says there's more work.
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a6dc08f
    • Thomas Graf's avatar
      ip_tunnel: Add missing validation of encap type to ip_tunnel_encap_setup() · f1fb521f
      Thomas Graf authored
      The encap->type comes straight from Netlink. Validate it against
      max supported encap types just like ip_encap_hlen() already does.
      
      Fixes: a8c5f9 ("ip_tunnel: Ops registration for secondary encap (fou, gue)")
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f1fb521f
    • Thomas Graf's avatar
      ip_tunnel: Add sanity checks to ip_tunnel_encap_add_ops() · bb1553c8
      Thomas Graf authored
      The symbols are exported and could be used by external modules.
      
      Fixes: a8c5f9 ("ip_tunnel: Ops registration for secondary encap (fou, gue)")
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bb1553c8
    • David S. Miller's avatar
      Merge tag 'master-2014-12-15' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · c9f2c3d3
      David S. Miller authored
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-12-16
      
      Please pull this batch of fixes intended for the 3.19 stream!
      
      For the Bluetooth bits, Johan says:
      
      "The patches consist of:
      
       - Coccinelle warning fix
       - hci_dev_lock/unlock fixes
       - Fixes for pending mgmt command handling
       - Fixes for properly following the force_lesc_support switch
       - Fix for a Microsoft branded Broadcom adapter
       - New device id for Atheros AR3012
       - Fix for BR/EDR Secure Connections enabling"
      
      Along with that...
      
      Brian Norris avoids leaking some kernel memory contents via printk in brcmsmac.
      
      Julia Lawall corrects some misspellings in a few drivers.
      
      Larry Finger gives us one more rtlwifi fix to correct a porting oversight.
      
      Wei Yongjun fixes a sparse warning in rtlwifi.
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c9f2c3d3
    • David S. Miller's avatar
      net: Allow FIXED_PHY to be modular. · 6539c44d
      David S. Miller authored
      Otherwise we get things like:
      
      warning: (NET_DSA_BCM_SF2 && BCMGENET && SYSTEMPORT) selects FIXED_PHY which has unmet direct dependencies (NETDEVICES && PHYLIB=y)
      
      In order to make this work we have to rename fixed.c to fixed_phy.c
      because the regulator drivers already have a module named "fixed.o".
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6539c44d
    • David S. Miller's avatar
      Merge branch 'vnet_le' · 772801ef
      David S. Miller authored
      Michael S. Tsirkin says:
      
      ====================
      tun/macvtap: TUNSETIFF fixes
      
      Dan Carpenter reported the following:
      	static checker warning:
      
      		drivers/net/tun.c:1694 tun_set_iff()
      		warn: 0x17100 is larger than 16 bits
      
      	drivers/net/tun.c
      	  1692
      	  1693          tun->flags = (tun->flags & ~TUN_FEATURES) |
      	  1694                  (ifr->ifr_flags & TUN_FEATURES);
      	  1695
      
      	It's complaining because the "ifr->ifr_flags" variable is a short
      	(should it be unsigned?).  The new define:
      
      	#define IFF_VNET_LE    0x10000
      
      	doesn't fit in two bytes.  Other suspect looking code could be:
      
      		return __virtio16_to_cpu(q->flags & IFF_VNET_LE, val);
      
      And that's true: we have run out of IFF flags in tun.
      
      So let's not try to add more: add simple GET/SET ioctls
      instead. Easy to test, leads to clear semantics.
      
      Alternatively we'll have to revert the whole thing for 3.19,
      but that seems more work as this has dependencies
      in other places.
      
      While here, I noticed that macvtap was actually reading
      ifreq flags as a 32 bit field.
      Fix that up as well.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      772801ef
    • Michael S. Tsirkin's avatar
      if_tun: drop broken IFF_VNET_LE · 9c6ab193
      Michael S. Tsirkin authored
      Everyone should use TUNSETVNETLE/TUNGETVNETLE instead.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9c6ab193
    • Michael S. Tsirkin's avatar
      macvtap: drop broken IFF_VNET_LE · 01b07fb3
      Michael S. Tsirkin authored
      Use TUNSETVNETLE/TUNGETVNETLE instead.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01b07fb3
    • Michael S. Tsirkin's avatar
      tun: drop broken IFF_VNET_LE · 1cf8e410
      Michael S. Tsirkin authored
      Use TUNSETVNETLE/TUNGETVNETLE instead.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1cf8e410
    • Michael S. Tsirkin's avatar
      if_tun: add TUNSETVNETLE/TUNGETVNETLE · 5eea84f4
      Michael S. Tsirkin authored
      ifreq flags field is only 16 bit wide, so setting IFF_VNET_LE there has
      no effect:
      doesn't fit in two bytes.
      
      The tests passed apparently because they have an even number of bugs,
      all cancelling out.
      
      Luckily we didn't release a kernel with this flag, so it's
      not too late to fix this.
      
      Add TUNSETVNETLE/TUNGETVNETLE to really achieve the purpose
      of IFF_VNET_LE.
      
      This has an added benefit that if we ever want a BE flag,
      we won't have to deal with weird configurations like
      setting both LE and BE at the same time.
      
      IFF_VNET_LE will be dropped in a follow-up patch.
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5eea84f4
    • Michael S. Tsirkin's avatar
      macvtap: fix uninitialized access on TUNSETIFF · 39ec7de7
      Michael S. Tsirkin authored
      flags field in ifreq is only 16 bit wide, but
      we read it as a 32 bit value.
      If userspace doesn't zero-initialize unused fields,
      this will lead to failures.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      39ec7de7
    • David S. Miller's avatar
      Merge branch 'fixed_phy' · c286bbaf
      David S. Miller authored
      Florian Fainelli says:
      
      ====================
      net: broadcom: fix FIXED_PHY dependencies
      
      This patch series removes the bogus "select FIXED_PHY if FOO=y" that I have
      been using in GENET, SYSTEMPORT and the SF2 DSA switch driver.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c286bbaf
    • Florian Fainelli's avatar
      net: dsa: bcm_sf2: always select FIXED_PHY · 9f9f2647
      Florian Fainelli authored
      There is no need to do the following:
      
      select FIXED_PHY if NET_DSA_BCM_SF2=y, as this implies that we will not be
      able to build and/or run the driver correctly when built as a module,
      which is no longer an issue since commit 37e9a690 ("net: phy: export
      fixed_phy_register()").
      
      Fixes: 246d7f77 ("net: dsa: add Broadcom SF2 switch driver")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9f9f2647
    • Florian Fainelli's avatar
      net: systemport: always select FIXED_PHY · 598ea823
      Florian Fainelli authored
      There is no need to do the following:
      
      select FIXED_PHY if SYSTEMPORT=y, as this implies that we will not be able
      to build and/or run the driver correctly when built as a module, which
      is no longer an issue since commit 37e9a690 ("net: phy: export
      fixed_phy_register()")
      
      Fixes: a3862db2 ("net: systemport: hook SYSTEMPORT driver in the build")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      598ea823
    • Florian Fainelli's avatar
      net: bcmgenet: always select FIXED_PHY · d8ced82e
      Florian Fainelli authored
      There is no need to do the following:
      
      select FIXED_PHY if BCMGENET=y, as this implies that we will not be able
      to build and/or run the driver correctly when built as a module, which
      is no longer an issue since commit 37e9a690 ("net: phy: export
      fixed_phy_register()")
      
      Fixes: b0ba512e225d ("net: bcmgenet: enable driver to work without device tree"
      Fixes: bdaa53bd ("net: bcmgenet: hook into the build system")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d8ced82e
  2. 15 Dec, 2014 22 commits
    • Larry Finger's avatar
      rtlwifi: rtl8192ce: Set fw_ready flag · 9a1dce3a
      Larry Finger authored
      The setting of this flag was missed in previous modifications.
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9a1dce3a
    • Brian Norris's avatar
      brcmsmac: don't leak kernel memory via printk() · 1d240d37
      Brian Norris authored
      Debug code prints the fifo name via custom dev_warn() wrappers. The
      fifo_names array is only non-zero when debugging is manually enabled,
      which is all well and good. However, it's *not* good that this array
      uses zero-length arrays in the non-debug case, and so it doesn't
      actually have any memory allocated to it. This means that as far as we
      know, fifo_names[i] actually points to garbage memory.
      
      I've seen this in my log:
      
      [ 4601.205511] brcmsmac bcma0:1: wl0: brcms_c_d11hdrs_mac80211: �GeL txop exceeded phylen 137/256 dur 1602/1504
      
      So let's give this array space enough to fill it with a NULL byte.
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com>
      Cc: Hante Meuleman <meuleman@broadcom.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: linux-wireless@vger.kernel.org
      Cc: brcm80211-dev-list@broadcom.com
      Cc: netdev@vger.kernel.org
      Acked-by: default avatarArend van Spriel <arend@broadcom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      1d240d37
    • Wei Yongjun's avatar
      rtlwifi: rtl8192cu: Fix sparse non static symbol warning · 8670d4d6
      Wei Yongjun authored
      Fixes the following sparse warning:
      
      drivers/net/wireless/rtlwifi/rtl8192cu/hw.c:1595:6: warning:
       symbol 'usb_cmd_send_packet' was not declared. Should it be static?
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Acked-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8670d4d6
    • Julia Lawall's avatar
      rtlwifi: rtl8821ae: fix misspelling of current function in string · cf2bcc97
      Julia Lawall authored
      Replace a misspelled function name by %s and then __func__.
      
      8821 was written as 8812.
      
      This was done using Coccinelle, including the use of Levenshtein distance,
      as proposed by Rasmus Villemoes.
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      cf2bcc97
    • Julia Lawall's avatar
      hostap_cs: fix misspelling of current function in string · 8dce3e6d
      Julia Lawall authored
      Replace a misspelled function name by %s and then __func__.
      
      This was done using Coccinelle, including the use of Levenshtein distance,
      as proposed by Rasmus Villemoes.
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8dce3e6d
    • Julia Lawall's avatar
      zd1211rw: fix misspelling of current function in string · da8fbbfd
      Julia Lawall authored
      Replace a misspelled function name by %s and then __func__.
      
      This was done using Coccinelle, including the use of Levenshtein distance,
      as proposed by Rasmus Villemoes.
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      da8fbbfd
    • John W. Linville's avatar
    • David S. Miller's avatar
      Merge branch 'macb' · d2cdcdf5
      David S. Miller authored
      Cyrille Pitchen says:
      
      ====================
      net/macb: fix multiqueue support patch up
      
      This series of patches is a fixup for the multiqueue support patch.
      
      The first patch fixes a bug introduced by the multiqueue support patch.
      The second one doesn't fix a bug but simplify the source code by removing
      useless calls to devm_free_irq() since we use managed device resources for
      IRQs.
      
      They were applied on the net-next tree and tested with a sama5d36ek board.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d2cdcdf5
    • Cyrille Pitchen's avatar
      net/macb: remove useless calls of devm_free_irq() · cf250de0
      Cyrille Pitchen authored
      Inside macb_probe(), when devm_request_irq() fails on queue q, there is no need
      to call devm_free_irq() on queues 0..q-1 because the managed device resources
      are released later when calling free_netdev().
      
      Also removing devm_free_irq() call from macb_remove() for the same reason.
      Signed-off-by: default avatarCyrille Pitchen <cyrille.pitchen@atmel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf250de0
    • Cyrille Pitchen's avatar
      net/macb: fix misplaced call of free_netdev() in macb_remove() · e965be7d
      Cyrille Pitchen authored
      fix a bug introduced by the multiqueue support patch:
      "net/macb: add TX multiqueue support for gem"
      
      the "bp" pointer to the netdev private data was dereferenced and used after the
      associated memory had been freed by calling free_netdev().
      Signed-off-by: default avatarCyrille Pitchen <cyrille.pitchen@atmel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e965be7d
    • Geert Uytterhoeven's avatar
      rds: Fix min() warning in rds_message_inc_copy_to_user() · 6ff4a8ad
      Geert Uytterhoeven authored
      net/rds/message.c: In function ‘rds_message_inc_copy_to_user’:
      net/rds/message.c:328: warning: comparison of distinct pointer types lacks a cast
      
      Use min_t(unsigned long, ...) like is done in
      rds_message_copy_from_user().
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6ff4a8ad
    • Geert Uytterhoeven's avatar
      net: stmmac: sti: Fix uninitialized pointer dereference if !OF · 50262c85
      Geert Uytterhoeven authored
      If CONFIG_OF is not set:
      
      drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c: In function ‘sti_dwmac_parse_data’:
      drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c:318: warning: ‘rs’ is used uninitialized in this function
      
      of_property_read_string() will return -ENOSYS in this case, and rs will
      be an uninitialized pointer.
      
      While the fallback clock selection is already selected correctly in this
      case, the string comparisons should be skipped too, else the system will
      crash while dereferencing the uninitialized pointer.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50262c85
    • Tobias Klauser's avatar
      net: smc91x: Fix build without gpiolib · 372a0730
      Tobias Klauser authored
      If GPIOLIB=n the following build errors occur:
      
      drivers/net/ethernet/smsc/smc91x.c: In function 'try_toggle_control_gpio':
      drivers/net/ethernet/smsc/smc91x.c:2204:2: error: implicit declaration of function 'devm_gpiod_get_index' [-Werror=implicit-function-declaration]
      drivers/net/ethernet/smsc/smc91x.c:2204:7: warning: assignment makes pointer from integer without a cast [enabled by default]
      drivers/net/ethernet/smsc/smc91x.c:2213:2: error: implicit declaration of function 'gpiod_direction_output' [-Werror=implicit-function-declaration]
      drivers/net/ethernet/smsc/smc91x.c:2216:3: error: implicit declaration of function 'devm_gpiod_put' [-Werror=implicit-function-declaration]
      drivers/net/ethernet/smsc/smc91x.c:2222:2: error: implicit declaration of function 'gpiod_set_value_cansleep' [-Werror=implicit-function-declaration]
      
      Fix this by letting the driver depend on GPIOLIB if OF is selected.
      
      Fixes: 7d2911c4 ("net: smc91x: Fix gpios for device tree based booting")
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      372a0730
    • Timo Teräs's avatar
      gre: fix the inner mac header in nbma tunnel xmit path · 8a0033a9
      Timo Teräs authored
      The NBMA GRE tunnels temporarily push GRE header that contain the
      per-packet NBMA destination on the skb via header ops early in xmit
      path. It is the later pulled before the real GRE header is constructed.
      
      The inner mac was thus set differently in nbma case: the GRE header
      has been pushed by neighbor layer, and mac header points to beginning
      of the temporary gre header (set by dev_queue_xmit).
      
      Now that the offloads expect mac header to point to the gre payload,
      fix the xmit patch to:
       - pull first the temporary gre header away
       - and reset mac header to point to gre payload
      
      This fixes tso to work again with nbma tunnels.
      
      Fixes: 14051f04 ("gre: Use inner mac length when computing tunnel length")
      Signed-off-by: default avatarTimo Teräs <timo.teras@iki.fi>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Alexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8a0033a9
    • Duan Jiong's avatar
      fib_trie.txt: fix typo · fd223068
      Duan Jiong authored
      Fix the typo, there should be "It".
      On the other hand, fix whitespace errors detected by checkpatch.pl
      Signed-off-by: default avatarDuan Jiong <duanj.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd223068
    • Asaf Vertz's avatar
      cirrus: cs89x0: fix time comparison · 0f9a2a9c
      Asaf Vertz authored
      To be future-proof and for better readability the time comparisons are
      modified to use time_before, time_after, and time_after_eq instead of
      plain, error-prone math.
      Signed-off-by: default avatarAsaf Vertz <asaf.vertz@tandemg.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f9a2a9c
    • David S. Miller's avatar
      Merge branch 'mlx4' · c5e44b69
      David S. Miller authored
      Or Gerlitz says:
      
      ====================
      mlx4 driver fixes for 3.19-rc1
      
      Just fixes for two small issues introduced in the 3.19 merge window
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c5e44b69
    • Or Gerlitz's avatar
      net/mlx4_core: Avoid double dumping of the PF device capabilities · c78e25ed
      Or Gerlitz authored
      To support asymmetric EQ allocations, we should query the device
      capabilities prior to enabling SRIOV. As a side effect of adding that,
      we are dumping the PF device capabilities twice. Avoid that by moving
      the printing into a helper function which is called once.
      
      Fixes: 7ae0e400 ('net/mlx4_core: Flexible (asymmetric) allocation of
      		     EQs and MSI-X vectors for PF/VFs')
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c78e25ed
    • Matan Barak's avatar
      net/mlx4_core: Fixed memory leak and incorrect refcount in mlx4_load_one · da315679
      Matan Barak authored
      The current mlx4_load_one has a memory leak as it always allocates
      dev_cap, but frees it only on error.
      
      In addition, even if VFs exist when mlx4_load_one is called,
      we still need to notify probed VFs that we're loading (by
      incrementing pf_loading).
      
      Fixes: a0eacca9 ('net/mlx4_core: Refactor mlx4_load_one')
      Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da315679
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 67e2c388
      Linus Torvalds authored
      Pull security layer updates from James Morris:
       "In terms of changes, there's general maintenance to the Smack,
        SELinux, and integrity code.
      
        The IMA code adds a new kconfig option, IMA_APPRAISE_SIGNED_INIT,
        which allows IMA appraisal to require signatures.  Support for reading
        keys from rootfs before init is call is also added"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (23 commits)
        selinux: Remove security_ops extern
        security: smack: fix out-of-bounds access in smk_parse_smack()
        VFS: refactor vfs_read()
        ima: require signature based appraisal
        integrity: provide a hook to load keys when rootfs is ready
        ima: load x509 certificate from the kernel
        integrity: provide a function to load x509 certificate from the kernel
        integrity: define a new function integrity_read_file()
        Security: smack: replace kzalloc with kmem_cache for inode_smack
        Smack: Lock mode for the floor and hat labels
        ima: added support for new kernel cmdline parameter ima_template_fmt
        ima: allocate field pointers array on demand in template_desc_init_fields()
        ima: don't allocate a copy of template_fmt in template_desc_init_fields()
        ima: display template format in meas. list if template name length is zero
        ima: added error messages to template-related functions
        ima: use atomic bit operations to protect policy update interface
        ima: ignore empty and with whitespaces policy lines
        ima: no need to allocate entry for comment
        ima: report policy load status
        ima: use path names cache
        ...
      67e2c388
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 6ae840e7
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here's the big char/misc driver update for 3.19-rc1
      
        Lots of little things all over the place in different drivers, and a
        new subsystem, "coresight" has been added.  Full details are in the
        shortlog"
      
      * tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (73 commits)
        parport: parport_pc, do not remove parent devices early
        spmi: Remove shutdown/suspend/resume kernel-doc
        carma-fpga-program: drop videobuf dependency
        carma-fpga: drop videobuf dependency
        carma-fpga-program.c: fix compile errors
        i8k: Fix temperature bug handling in i8k_get_temp()
        cxl: Name interrupts in /proc/interrupt
        CXL: Return error to PSL if IRQ demultiplexing fails & print clearer warning
        coresight-replicator: remove .owner field for driver
        coresight: fixed comments in coresight.h
        coresight: fix typo in comment in coresight-priv.h
        coresight: bindings for coresight drivers
        coresight: Adding ABI documentation
        w1: support auto-load of w1_bq27000 module.
        w1: avoid potential u16 overflow
        cn: verify msg->len before making callback
        mei: export fw status registers through sysfs
        mei: read and print all six FW status registers
        mei: txe: add cherrytrail device id
        mei: kill cached host and me csr values
        ...
      6ae840e7
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.19-rc1' of... · e6b5be2b
      Linus Torvalds authored
      Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core update from Greg KH:
       "Here's the set of driver core patches for 3.19-rc1.
      
        They are dominated by the removal of the .owner field in platform
        drivers.  They touch a lot of files, but they are "simple" changes,
        just removing a line in a structure.
      
        Other than that, a few minor driver core and debugfs changes.  There
        are some ath9k patches coming in through this tree that have been
        acked by the wireless maintainers as they relied on the debugfs
        changes.
      
        Everything has been in linux-next for a while"
      
      * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
        Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
        fs: debugfs: add forward declaration for struct device type
        firmware class: Deletion of an unnecessary check before the function call "vunmap"
        firmware loader: fix hung task warning dump
        devcoredump: provide a one-way disable function
        device: Add dev_<level>_once variants
        ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
        ath: use seq_file api for ath9k debugfs files
        debugfs: add helper function to create device related seq_file
        drivers/base: cacheinfo: remove noisy error boot message
        Revert "core: platform: add warning if driver has no owner"
        drivers: base: support cpu cache information interface to userspace via sysfs
        drivers: base: add cpu_device_create to support per-cpu devices
        topology: replace custom attribute macros with standard DEVICE_ATTR*
        cpumask: factor out show_cpumap into separate helper function
        driver core: Fix unbalanced device reference in drivers_probe
        driver core: fix race with userland in device_add()
        sysfs/kernfs: make read requests on pre-alloc files use the buffer.
        sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
        fs: sysfs: return EGBIG on write if offset is larger than file size
        ...
      e6b5be2b
  3. 14 Dec, 2014 1 commit
    • Linus Torvalds's avatar
      Merge tag 'tty-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 37da7bbb
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here's the big tty/serial driver update for 3.19-rc1.
      
        There are a number of TTY core changes/fixes in here from Peter Hurley
        that have all been teted in linux-next for a long time now.  There are
        also the normal serial driver updates as well, full details in the
        changelog below"
      
      * tag 'tty-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (219 commits)
        serial: pxa: hold port.lock when reporting modem line changes
        tty-hvsi_lib: Deletion of an unnecessary check before the function call "tty_kref_put"
        tty: Deletion of unnecessary checks before two function calls
        n_tty: Fix read_buf race condition, increment read_head after pushing data
        serial: of-serial: add PM suspend/resume support
        Revert "serial: of-serial: add PM suspend/resume support"
        Revert "serial: of-serial: fix up PM ops on no_console_suspend and port type"
        serial: 8250: don't attempt a trylock if in sysrq
        serial: core: Add big-endian iotype
        serial: samsung: use port->fifosize instead of hardcoded values
        serial: samsung: prefer to use fifosize from driver data
        serial: samsung: fix style problems
        serial: samsung: wait for transfer completion before clock disable
        serial: icom: fix error return code
        serial: tegra: clean up tty-flag assignments
        serial: Fix io address assign flow with Fintek PCI-to-UART Product
        serial: mxs-auart: fix tx_empty against shift register
        serial: mxs-auart: fix gpio change detection on interrupt
        serial: mxs-auart: Fix mxs_auart_set_ldisc()
        serial: 8250_dw: Use 64-bit access for OCTEON.
        ...
      37da7bbb