1. 02 Jun, 2014 20 commits
    • Alexander Duyck's avatar
      enic: Update driver to use __dev_uc/mc_sync/unsync calls · f009618a
      Alexander Duyck authored
      This change updates the enic driver to make use of __dev_uc_sync and
      __dev_mc_sync calls.  Previously the driver was doing its own list
      management by storing the mc_addr and uc_addr list in a 32 address array.
      With this change the sync data is stored in the netdev_addr_list structures
      and instead we just track how many addresses we have written to the device.
      When we encounter 32 we stop and print a message as occurred previously with
      the old approach.
      
      Other than the core change the only other bit needed was to propagate the
      constant attribute with the MAC address as there were several spots where
      is twas only passed as a u8 * instead of a const u8 *.
      
      This patch is meant to maintain the original functionality without the use
      of the mc_addr and uc_addr arrays.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Acked-by: default avatarGovindarajulu Varadarajan <_govind@gmx.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f009618a
    • Alexander Duyck's avatar
      net: Add support for device specific address syncing · 670e5b8e
      Alexander Duyck authored
      This change provides a function to be used in order to break the
      ndo_set_rx_mode call into a set of address add and remove calls.  The code
      is based on the implementation of dev_uc_sync/dev_mc_sync.  Since they
      essentially do the same thing but with only one dev I simply named my
      functions __dev_uc_sync/__dev_mc_sync.
      
      I also implemented an unsync version of the functions as well to allow for
      cleanup on close.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      670e5b8e
    • David S. Miller's avatar
      Merge branch '6lowpan-next' · 3e820811
      David S. Miller authored
      Alexander Aring says:
      
      ====================
      6lowpan: fragmentation fixes
      
      This patch series fix the 6LoWPAN fragmentation which are in two cases broken.
      
      The first case is if we have exactly two 6LoWPAN fragments only. This is fixed
      by patch "6lowpan_rtnl: fix fragmentation with two fragments".
      The second case is a off by one issue if we have payload which hits the fragment
      boundary.
      
      Both issues are introduced by commit d4b2816d
      ("6lowpan: fix fragmentation").
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3e820811
    • Alexander Aring's avatar
      6lowpan_rtnl: fix off by one while fragmentation · eb06481d
      Alexander Aring authored
      This patch fix a off by one error while fragmentation. If the frag_cap
      value is equal to skb_unprocessed value we need to stop the
      fragmentation loop because the last fragment which has a size of
      skb_unprocessed fits into the frag capability size.
      
      This issue was introduced by commit d4b2816d
      ("6lowpan: fix fragmentation").
      Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb06481d
    • Alexander Aring's avatar
      6lowpan_rtnl: fix fragmentation with two fragments · 51263fff
      Alexander Aring authored
      This patch fix the 6LoWPAN fragmentation for the case if we have exactly
      two fragments. The problem is that the (skb_unprocessed >= frag_cap)
      condition is always false on the second fragment after sending the first
      fragment. A fragmentation with only one fragment doesn't make any sense.
      The solution is that we use a do while loop here, that ensures we sending
      always a minimum of two fragments if we need a fragmentation.
      
      This issue was introduced by commit d4b2816d
      ("6lowpan: fix fragmentation").
      Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      51263fff
    • Emil Goode's avatar
      stmmac: Remove spin_lock call in stmmac_get_pauseparam() · 86c92ee3
      Emil Goode authored
      The following patch removed unnecessary spin_lock/unlock calls
      in ethtool_ops callback functions. In the second and final version
      of the patch one spin_lock call was left behind.
      
      commit cab6715c
      Author: Yang Wei <Wei.Yang@windriver.com>
      Date:   Sun May 25 09:53:44 2014 +0800
      
          net: driver: stmicro: Remove some useless the lock protection
      
      This introduced the following sparse warning:
      
      drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c:424:1: warning:
      	context imbalance in 'stmmac_get_pauseparam' -
      	different lock contexts for basic block
      Signed-off-by: default avatarEmil Goode <emilgoode@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86c92ee3
    • Denis ChengRq's avatar
      genetlink: remove superfluous assignment · 2f91abd4
      Denis ChengRq authored
      the local variable ops and n_ops were just read out from family,
      and not changed, hence no need to assign back.
      
      Validation functions should operate on const parameters and not
      change anything.
      Signed-off-by: default avatarCheng Renquan <crquan@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2f91abd4
    • David S. Miller's avatar
      Revert "net/mlx4_en: Use affinity hint" · 96b2e73c
      David S. Miller authored
      This reverts commit 70a640d0.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      96b2e73c
    • Stephen Boyd's avatar
      net: ks8851: Don't use regulator_get_optional() · d64eed1d
      Stephen Boyd authored
      We shouldn't be using regulator_get_optional() here. These
      regulators are always present as part of the physical design and
      there isn't any way to use an internal regulator or change the
      source of the reference voltage via software. Given that the only
      users of this driver in the kernel are DT based, this change
      should be transparent to them even if they don't specify any
      supplies because the regulator framework will insert dummy
      supplies as needed.
      
      Cc: Nishanth Menon <nm@ti.com>
      Cc: Mark Brown <broonie@kernel.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Reviewed-by: default avatarMark Brown <broonie@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d64eed1d
    • David S. Miller's avatar
      Merge branch 'filter-next' · c532cea9
      David S. Miller authored
      Daniel Borkmann says:
      
      ====================
      BPF + test suite updates
      
      These are the last bigger BPF changes that I had in my todo
      queue for now. As the first two patches from this series
      contain additional test cases for the test suite, I have
      rebased them on top of current net-next with the set from [1]
      applied to avoid introducing any unnecessary merge conflicts.
      
      For details, please refer to the individual patches. Test
      suite runs fine with the set applied.
      
       [1] http://patchwork.ozlabs.org/patch/352599/
           http://patchwork.ozlabs.org/patch/352600/
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c532cea9
    • Daniel Borkmann's avatar
      net: filter: improve filter block macros · f8f6d679
      Daniel Borkmann authored
      Commit 9739eef1 ("net: filter: make BPF conversion more readable")
      started to introduce helper macros similar to BPF_STMT()/BPF_JUMP()
      macros from classic BPF.
      
      However, quite some statements in the filter conversion functions
      remained in the old style which gives a mixture of block macros and
      non block macros in the code. This patch makes the block macros itself
      more readable by using explicit member initialization, and converts
      the remaining ones where possible to remain in a more consistent state.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8f6d679
    • Daniel Borkmann's avatar
      net: filter: get rid of BPF_S_* enum · 34805931
      Daniel Borkmann authored
      This patch finally allows us to get rid of the BPF_S_* enum.
      Currently, the code performs unnecessary encode and decode
      workarounds in seccomp and filter migration itself when a filter
      is being attached in order to overcome BPF_S_* encoding which
      is not used anymore by the new interpreter resp. JIT compilers.
      
      Keeping it around would mean that also in future we would need
      to extend and maintain this enum and related encoders/decoders.
      We can get rid of all that and save us these operations during
      filter attaching. Naturally, also JIT compilers need to be updated
      by this.
      
      Before JIT conversion is being done, each compiler checks if A
      is being loaded at startup to obtain information if it needs to
      emit instructions to clear A first. Since BPF extensions are a
      subset of BPF_LD | BPF_{W,H,B} | BPF_ABS variants, case statements
      for extensions can be removed at that point. To ease and minimalize
      code changes in the classic JITs, we have introduced bpf_anc_helper().
      
      Tested with test_bpf on x86_64 (JIT, int), s390x (JIT, int),
      arm (JIT, int), i368 (int), ppc64 (JIT, int); for sparc we
      unfortunately didn't have access, but changes are analogous to
      the rest.
      
      Joint work with Alexei Starovoitov.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Mircea Gherzan <mgherzan@gmail.com>
      Cc: Kees Cook <keescook@chromium.org>
      Acked-by: default avatarChema Gonzalez <chemag@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      34805931
    • Daniel Borkmann's avatar
      net: filter: add test for loading SKF_AD_OFF limits · d50bc157
      Daniel Borkmann authored
      This check tests that overloading BPF_LD | BPF_ABS with an
      always invalid BPF extension, that is SKF_AD_MAX, fails to
      make sure classic BPF behaviour is correct in filter checker.
      
      Also, we add a test for loading at packet offset SKF_AD_OFF-1
      which should pass the filter, but later on fail during runtime.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d50bc157
    • Daniel Borkmann's avatar
      net: filter: add slot overlapping test with fully filled M[] · 9fe13baa
      Daniel Borkmann authored
      Also add a test for the scratch memory store that first fills
      all slots and then sucessively reads all of them back adding
      up to A, and eventually returning A. This and the previous
      M[] test with alternating fill/spill will detect possible JIT
      errors on M[].
      Suggested-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9fe13baa
    • wangweidong's avatar
      bridge: fix the unbalanced promiscuous count when add_if failed · 019ee792
      wangweidong authored
      As commit 2796d0c6 ("bridge: Automatically manage port
      promiscuous mode."), make the add_if use dev_set_allmulti
      instead of dev_set_promiscuous, so when add_if failed, we
      should do dev_set_allmulti(dev, -1).
      Signed-off-by: default avatarWang Weidong <wangweidong1@huawei.com>
      Reviewed-by: default avatarAmos Kong <akong@redhat.com>
      Acked-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Acked-by: default avatarStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      019ee792
    • David S. Miller's avatar
      net: Revert mlx4 cpumask changes. · ee39facb
      David S. Miller authored
      This reverts commit 70a640d0
      ("net/mlx4_en: Use affinity hint") and commit
      c8865b64 ("cpumask: Utility function
      to set n'th cpu - local cpu first") because these changes break
      the build when SMP is disabled amongst other things.
      Reported-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ee39facb
    • Stephen Boyd's avatar
      net: ks8851: Don't use regulator_get_optional() · 2a82e40d
      Stephen Boyd authored
      We shouldn't be using regulator_get_optional() here. These
      regulators are always present as part of the physical design and
      there isn't any way to use an internal regulator or change the
      source of the reference voltage via software. Given that the only
      users of this driver in the kernel are DT based, this change
      should be transparent to them even if they don't specify any
      supplies because the regulator framework will insert dummy
      supplies as needed.
      
      Cc: Nishanth Menon <nm@ti.com>
      Cc: Mark Brown <broonie@kernel.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Reviewed-by: default avatarMark Brown <broonie@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a82e40d
    • David S. Miller's avatar
      Merge branch 'mlx4-next' · b07166b2
      David S. Miller authored
      Amir Vadai says:
      
      ====================
      cpumask,net: Affinity hint helper function
      
      This patchset will set affinity hint to influence IRQs to be allocated on the
      same NUMA node as the one where the card resides. As discussed in
      http://www.spinics.net/lists/netdev/msg271497.html
      
      If the number of IRQs allocated is greater than the number of local NUMA cores, all
      local cores will be used first, and the rest of the IRQs will be on a remote
      NUMA node.
      If no NUMA support - IRQ's and cores will be mapped 1:1
      
      Since the utility function to calculate the mapping could be useful in other mq
      drivers in the kernel, it was added to cpumask.[ch]
      
      This patchset was tested and applied on top of net-next since the first
      consumer is a network device (mlx4_en).  Over commit 506724c4: "tg3: Override
      clock, link aware and link idle mode during NVRAM dump"
      
      I couldn't find a maintainer for cpumask.c, so only added the kernel mailing
      list
      
      Amir
      
      Changes from V5:
      - Moved the utility function from kernel/irq/manage.c to lib/cpumask.c, and
        renamed it's name accordingly to cpumask_set_cpu_local_first()
      - Added some comments as Thomas Gleixner suggested
      - Changed -EINVAL to -EAGAIN, that describes the error situtation better.
      
      Changes from V4:
      - Patch 1/2: irq: Utility function to get affinity_hint by policy
        Thank you Ben for the great review:
        - Moved the function it kernel/irq/manage.c since it could be useful for
          block mq devices
        - Fixed Typo's
        - Use cpumask_t * instead of cpumask_var_t in function header
        - Restructured the function to remove NULL assignment in a cpumask_var_t
        - Fix for offline local CPU's
      
      Changes from V3:
      - Patch 2/2: net/mlx4_en: Use affinity hint
        - somehow patch file was corrupted
      
      Changes from V2:
      - Patch 1/2: net: Utility function to get affinity_hint by policy
        - Fixed style issues
      
      Changes from V1:
      - Patch 1/2: net: Utility function to get affinity_hint by policy
        - Fixed error flow to return -EINVAL on error (thanks govind)
      - Patch 2/2: net/mlx4_en: Use affinity hint
        - Set ring->affinity_hint to NULL on error
      
      Changes from V0:
      - Fixed small style issues
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b07166b2
    • Yuval Atias's avatar
      net/mlx4_en: Use affinity hint · 70a640d0
      Yuval Atias authored
      The “affinity hint” mechanism is used by the user space
      daemon, irqbalancer, to indicate a preferred CPU mask for irqs.
      Irqbalancer can use this hint to balance the irqs between the
      cpus indicated by the mask.
      
      We wish the HCA to preferentially map the IRQs it uses to numa cores
      close to it.  To accomplish this, we use cpumask_set_cpu_local_first(), that
      sets the affinity hint according the following policy:
      First it maps IRQs to “close” numa cores.  If these are exhausted, the
      remaining IRQs are mapped to “far” numa cores.
      Signed-off-by: default avatarYuval Atias <yuvala@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      70a640d0
    • Amir Vadai's avatar
      cpumask: Utility function to set n'th cpu - local cpu first · c8865b64
      Amir Vadai authored
      This function sets the n'th cpu - local cpu's first.
      For example: in a 16 cores server with even cpu's local, will get the
      following values:
      cpumask_set_cpu_local_first(0, numa, cpumask) => cpu 0 is set
      cpumask_set_cpu_local_first(1, numa, cpumask) => cpu 2 is set
      ...
      cpumask_set_cpu_local_first(7, numa, cpumask) => cpu 14 is set
      cpumask_set_cpu_local_first(8, numa, cpumask) => cpu 1 is set
      cpumask_set_cpu_local_first(9, numa, cpumask) => cpu 3 is set
      ...
      cpumask_set_cpu_local_first(15, numa, cpumask) => cpu 15 is set
      
      Curently this function will be used by multi queue networking devices to
      calculate the irq affinity mask, such that as many local cpu's as
      possible will be utilized to handle the mq device irq's.
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c8865b64
  2. 31 May, 2014 20 commits
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · 90d0e08e
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter/IPVS updates for net-next
      
      This small patchset contains three accumulated Netfilter/IPVS updates,
      they are:
      
      1) Refactorize common NAT code by encapsulating it into a helper
         function, similarly to what we do in other conntrack extensions,
         from Florian Westphal.
      
      2) A minor format string mismatch fix for IPVS, from Masanari Iida.
      
      3) Add quota support to the netfilter accounting infrastructure, now
         you can add quotas to accounting objects via the nfnetlink interface
         and use them from iptables. You can also listen to quota
         notifications from userspace. This enhancement from Mathieu Poirier.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      90d0e08e
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 648d4feb
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates
      
      This series contains updates to i40e and i40evf.
      
      Kevin updates the i40e and i40evf driver i40e_check_asq_alive() to ensure
      the length register offset is non-zero which indicates that the software
      has initialized the admin queue.  Also removes PCTYPE definitions which are
      now reserved.
      
      Mitch enables descriptor prefetch for rings belonging to the virtual function.
      Also configures the VF minimum transmit rate to 50 Mbps rather than 0 which was
      be interpreted as no limit at all.  Mitch found in order for the VF to achieve
      its programmed transmit rate, we need to set the max credit value to 4.
      Lastly fixes a Tx hang and firmware crash that happens after setting the MTU
      on a VF by not using the RESETTING state during reinit, this is because
      the RESETTING state means that a catastrophic hardware bad thing is happening
      and the driver needs to tiptoe around and not use the admin queue or registers.
      A reinit is no big deal and we can use the admin queue (and we should) so
      do not set the state to RESETTING during reinit to resolve the bug.
      
      Akeem changes the declaration of the transmit and receive rings inside
      several loops to eliminate declaring the same ring every time for the
      duration of the loop and declares them just once before the loop.  Also fixes
      the driver to clear the recovery pending bit if pf_reset fails instead of
      falling through the setup process.
      
      Anjali makes a change based on feedback from Ben Hutchings that cmd->data
      needs to be reported in ETHTOOL_GRXCLSRLCNT and use a helper function to
      calculate the total filter count.
      
      Jesse removes storm control since the storm control features are not apart
      of the hardware and were mistakenly left in the code.
      
      Greg changes tx_lpi_status and rx_lpi_status from bool to u32 to avoid
      sparse errors.
      
      Shannon adds the clear_pxe AdminQ API call to tell the firmware that the
      driver is taking over from PXE.  In addition, relaxes the firmware API
      check to allow more flexibility in handling newer NICs and NVMs in the field.
      
      Vasu ensures that FCoE is disabled for MFP modes since it is not supported
      by overriding the hardware FCoE capability.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      648d4feb
    • Himangi Saraogi's avatar
      af_key: Replace comma with semicolon · 47162c0b
      Himangi Saraogi authored
      This patch replaces a comma between expression statements by a semicolon.
      
      A simplified version of the semantic patch that performs this
      transformation is as follows:
      
      // <smpl>
      @r@
      expression e1,e2,e;
      type T;
      identifier i;
      @@
      
       e1
      -,
      +;
       e2;
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47162c0b
    • Himangi Saraogi's avatar
      rds/tcp_listen: Replace comma with semicolon · 01728371
      Himangi Saraogi authored
      This patch replaces a comma between expression statements by a semicolon.
      
      A simplified version of the semantic patch that performs this
      transformation is as follows:
      
      // <smpl>
      @r@
      expression e1,e2,e;
      type T;
      identifier i;
      @@
      
       e1
      -,
      +;
       e2;
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01728371
    • Himangi Saraogi's avatar
      RDS/RDMA: Replace comma with semicolon · cc2afe9f
      Himangi Saraogi authored
      This patch replaces a comma between expression statements by a semicolon.
      
      A simplified version of the semantic patch that performs this
      transformation is as follows:
      
      // <smpl>
      @r@
      expression e1,e2,e;
      type T;
      identifier i;
      @@
      
       e1
      -,
      +;
       e2;
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cc2afe9f
    • Himangi Saraogi's avatar
      ipmr: Replace comma with semicolon · 70cb4a45
      Himangi Saraogi authored
      This patch replaces a comma between expression statements by a semicolon.
      
      A simplified version of the semantic patch that performs this
      transformation is as follows:
      
      // <smpl>
      @r@
      expression e1,e2,e;
      type T;
      identifier i;
      @@
      
       e1
      -,
      +;
       e2;
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      70cb4a45
    • David S. Miller's avatar
      Merge branch 's390-next' · e9bcbc97
      David S. Miller authored
      Frank Blaschka says:
      
      ====================
      s390: network patches for net-next V1
      
      here are some s390 related patches for net-next
      Added some style fixing reported by David Laight.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9bcbc97
    • Ursula Braun's avatar
      s390/net: fix format string mismatches · a68be015
      Ursula Braun authored
      cppcheck blamed some issues in drivers/s390/net/...
      They are fixed here.
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarFrank Blaschka <blaschka@linux.vnet.ibm.com>
      Reported-by: default avatarToralf Foerster <toralf.foerster@gmx.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a68be015
    • Rickard Strandqvist's avatar
      qeth: Fix for possible null pointer dereference · e95051ff
      Rickard Strandqvist authored
      There is otherwise a risk of a possible null pointer dereference.
      
      Was largely found by using a static code analysis program called cppcheck.
      Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: default avatarFrank Blaschka <blaschka@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e95051ff
    • Ursula Braun's avatar
      af_iucv: correct cleanup if listen backlog is full · 4d520f62
      Ursula Braun authored
      In case of transport HIPER a sock struct is allocated for an incoming
      connect request. If the backlog queue is full this socket is not
      needed, but is left in the list of af_iucv sockets. Final socket
      release posts console message "Attempt to release alive iucv socket".
      This patch makes sure the new created socket is cleaned up correctly
      if the backlog queue is full.
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarFrank Blaschka <blaschka@linux.vnet.ibm.com>
      Reported-by: default avatarPhilipp Hachtmann <phacht@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d520f62
    • Philipp Hachtmann's avatar
      af_iucv: Add automatic (source) iucv_name to bind · 53a4b499
      Philipp Hachtmann authored
      If a socket is bound to an address using before calling connect
      it is usual to leave it to the network system to choose an appropriate
      outgoing application name respective port address.
      af_iucv on VM uses a counter and uses simple numbers as unique identifiers.
      This behaviour was missing when af_iucv is used with HiperSockets.
      
      This patch contains a simple approach to harmonize af_iucv's behaviour.
      Signed-off-by: default avatarPhilipp Hachtmann <phacht@linux.vnet.ibm.com>
      Signed-off-by: default avatarFrank Blaschka <blaschka@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53a4b499
    • David S. Miller's avatar
      Merge branch 'be2net-next' · 078252e0
      David S. Miller authored
      Sathya Perla says:
      
      ====================
      be2net: patch set
      
      Patch 1 is a minor optimization for issuing multicast promisc FW cmd
      only when the interface is not already in that mode.
      
      Patch 2 provides support for VF TX-rate setting on Skyhawk-R.
      
      Patch 3 provides support for flashing new FW flash regions.
      
      Patches 4, 5, 6 cleanup the MCC processing (for FW cmds) code in be_cmds.c.
      The MCC error reporting and event handling code are areas that needed
      cleanup.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      078252e0
    • Sathya Perla's avatar
      be2net: cleanup MCC async event processing code · 3acf19d9
      Sathya Perla authored
      The MCC async event processing code has 2 issues:
      a) because of long struct names the code indentation is badly broken
      b) description and definitions of how an MCC completion is interpreted as
         an async event are confusing (for e.g. the last word of an MCC event is
         named "code", while "code" is just a sub-field of the last word.)
      
      This patch fixes the structure definitions, comments and re-factors code
      as needed.
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3acf19d9
    • Sathya Perla's avatar
      be2net: move async cmd processing to a separate routine · 559b633f
      Sathya Perla authored
      For some FW cmds, the caller just issues the cmd and doesn't wait for a
      response. The response handling is done in the MCCQ compl processing context
      only. Move this code into a separate routine to make be_mcc_compl_process()
      more manageable.
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      559b633f
    • Kalesh AP's avatar
      be2net: re-factor MCCQ error status handling code · 4c60005f
      Kalesh AP authored
      This patch improves MCCQ error status handling in the following ways:
      a) A MCC cmd completion returns a base-status and an addl-status.
      So far, the routine be_mcc_compl_process() returned only the "status" value.
      Now, embedd both statuses in the return value and let the caller routine access
      the value of interest using base_status() and addl_status() macros.
      
      b) Rename variables accordingly (base/addl) to avoid confusion while error
      checking.
      
      b) Some of the errors returned by FW are harmless and so an error msg is not
      logged for such errors. Capture this logic in a separate routine to make the
      code more readable.
      Signed-off-by: default avatarKalesh AP <kalesh.purayil@emulex.com>
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4c60005f
    • Vasundhara Volam's avatar
      be2net: support flashing new regions on Skyhawk-R · 96c9b2e4
      Vasundhara Volam authored
      Certain new flash regions have been added to Skyhawk-R FW image. The newer
      FW images specify op_types for each region. A region is flashed only
      when it's CRC doesn't match that of the region on the HW flash. While
      upgrading to a new FW image the driver is expected to tolerate certain
      errors.
      
      This patch re-factors code under be_flash() to support the above scheme.
      Signed-off-by: default avatarVasundhara Volam <vasundhara.volam@emulex.com>
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      96c9b2e4
    • Ravikumar Nelavelli's avatar
      be2net: fixup TX-rate setting code for Skyhawk-R · 0f77ba73
      Ravikumar Nelavelli authored
      Skyhawk-R FW supports TX-rate setting only as a % value of the link
      speed, set via the SET_PROFILE_CONFIG cmd.
      
      This patch makes the necessary changes to the FW cmd descriptors to support
      the above change and also introduces checks in be_set_vf_tx_rate() to allow
      only discrete values (that map to % of the link-speed).
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f77ba73
    • Kalesh AP's avatar
      be2net: skip multicast promiscuos setting in already set · a0794885
      Kalesh AP authored
      Set mc-promisc (multicast promiscuous) mode on an interface, only if it is
      *not already* in that mode.
      
      Also removed logs that report interface being set to multicast
      promiscous mode. In an earlier comment on the netdev list such log messages
      were deemed unnecessary as this behaviour is common across most of the
      ethernet drivers.
      Signed-off-by: default avatarKalesh AP <kalesh.purayil@emulex.com>
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a0794885
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next · 4d1cdf1d
      David S. Miller authored
      John W. Linville says:
      
      ====================
      Please pull this batch of updates intended for 3.16...
      
      For the mac80211 bits, Johannes says:
      
      "Here I just have Heikki's rfkill GPIO cleanups.
      
      The ARM/tegra patch is OK with the maintainer (Stephen). Let me know of
      any problems."
      
      and;
      
      "We have a whole bunch of work on CSA by Andrei, Luca and Michal, but
      unfortunately it doesn't seem quite complete yet so it's still disabled.
      There's some TDLS work from Arik, and the rest is mostly minor fixes and
      cleanups."
      
      For the NFC bits, Samuel says:
      
      "This is the NFC pull request for 3.16. We have:
      
      - STMicroeectronics st21nfca support. The st21nfca is an HCI chipset and
        thus relies on the HCI stack. This submission provides support for tag
        redaer/writer mode (including Type 5) and device tree bindings.
      
      - PM runtime support and a bunch of bug fixes for TI's trf7970a.
      
      - Device tree support for NXP's pn544. Legacy platform data support is
        obviously kept intact.
      
      - NFC Tag type 4B support to the NFC Digital stack.
      
      - SOCK_RAW type support to the raw NFC socket, and allow NCI
        sniffing from that. This can be extended to report HCI frames and also
        proprietarry ones like e.g. the pn533 ones."
      
      For the iwlwifi bits, Emmanuel says:
      
      "Eran continues to work on new devices, Eyal is still digging in
      the rate control stuff, and Johannes added new functionality to the
      debug system we have in place now along with a few cleanups he made
      on the way.  That's pretty much it."
      
      and;
      
      "Avri continues to work on the power code and Eran is improving the
      NVM handling as a preparations for new devices on which he works
      with Liad. Luca cleans up a bit the code while working on CSA. I have
      the regular BT Coex stuff and a small lockdep fix. Johannes has his
      regular amount of clean ups and improvements, the main one is the
      ability to leave 2 chains open to improve diversity and hence the
      throughput in high attenuation scenarios."
      
      and;
      
      "The regular amount of housekeeping here. I merged iwlwifi-fixes.git to
      be able to add the patch you didn't want in wireless.git at that stage
      of the -rc cycle.  Luca has a few preparations for CSA implementation
      and also what seems to be a bugfix for P2P but hasn't caused issues
      we could notice."
      
      For the Atheros bits, Kalle says:
      
      "For ath10k Michal did various small fixes on how we handle
      hardware/firmware problems and he also fixed two memory leaks."
      
      Also included are a couple of pulls from the wireless tree to
      avoid/resolve merge issues...
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d1cdf1d
    • Paul Bolle's avatar
      atm: remove commented out check · 391296c9
      Paul Bolle authored
      This preprocessor check is commented out ever since this file was added
      during the v2.3 development cycle. It is unclear what it purpose might
      have been. Whatever it was, it can safely be removed now.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      391296c9