1. 03 6月, 2014 6 次提交
    • C
      net: stmmac: Handle different error codes from platform_get_irq_byname · d7ec8584
      Chen-Yu Tsai 提交于
      The following patch moved device tree interrupt resolution into
      platform_get_irq_byname:
      
        ad69674e of/irq: do irq resolution in platform_get_irq_byname()
      
      As a result, the function no longer only return -ENXIO on error.
      This breaks DT based probing of stmmac, as seen in test runs of
      linux-next next-20140526 cubie2-sunxi_defconfig:
      
        http://lists.linaro.org/pipermail/kernel-build-reports/2014-May/003659.html
      
      This patch makes the stmmac_platform probe function properly handle
      error codes, such as returning for deferred probing, and other codes
      returned by of_irq_get_by_name.
      Signed-off-by: NChen-Yu Tsai <wens@csie.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d7ec8584
    • E
      inetpeer: get rid of ip_id_count · 73f156a6
      Eric Dumazet 提交于
      Ideally, we would need to generate IP ID using a per destination IP
      generator.
      
      linux kernels used inet_peer cache for this purpose, but this had a huge
      cost on servers disabling MTU discovery.
      
      1) each inet_peer struct consumes 192 bytes
      
      2) inetpeer cache uses a binary tree of inet_peer structs,
         with a nominal size of ~66000 elements under load.
      
      3) lookups in this tree are hitting a lot of cache lines, as tree depth
         is about 20.
      
      4) If server deals with many tcp flows, we have a high probability of
         not finding the inet_peer, allocating a fresh one, inserting it in
         the tree with same initial ip_id_count, (cf secure_ip_id())
      
      5) We garbage collect inet_peer aggressively.
      
      IP ID generation do not have to be 'perfect'
      
      Goal is trying to avoid duplicates in a short period of time,
      so that reassembly units have a chance to complete reassembly of
      fragments belonging to one message before receiving other fragments
      with a recycled ID.
      
      We simply use an array of generators, and a Jenkin hash using the dst IP
      as a key.
      
      ipv6_select_ident() is put back into net/ipv6/ip6_output.c where it
      belongs (it is only used from this file)
      
      secure_ip_id() and secure_ipv6_id() no longer are needed.
      
      Rename ip_select_ident_more() to ip_select_ident_segs() to avoid
      unnecessary decrement/increment of the number of segments.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      73f156a6
    • D
      of: of_mdio: export symbol of_mdiobus_link_phydev · e067ee33
      Daniel Mack 提交于
      Make of_mdiobus_link_phydev externally available.
      This fixes CONFIG_OF_MDIO=m.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Fixes: 86f6cf41 ("net: of_mdio: add of_mdiobus_link_phydev()")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e067ee33
    • D
      net: of_mdio: use int type for address variable · 4cd984b0
      Daniel Mack 提交于
      Use int rather than u32 to fix the following warning:
      
      drivers/of/of_mdio.c:147 of_mdiobus_register() warn: unsigned 'addr' is
      never less than zero.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Fixes: 8f838288 ("net: of_mdio: factor out code to parse a phy's 'reg' property")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4cd984b0
    • A
      enic: Update driver to use __dev_uc/mc_sync/unsync calls · f009618a
      Alexander Duyck 提交于
      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: NAlexander Duyck <alexander.h.duyck@intel.com>
      Acked-by: NGovindarajulu Varadarajan <_govind@gmx.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f009618a
    • E
      stmmac: Remove spin_lock call in stmmac_get_pauseparam() · 86c92ee3
      Emil Goode 提交于
      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: NEmil Goode <emilgoode@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      86c92ee3
  2. 02 6月, 2014 5 次提交
  3. 31 5月, 2014 16 次提交
  4. 30 5月, 2014 13 次提交