1. 03 3月, 2015 5 次提交
  2. 02 3月, 2015 11 次提交
  3. 01 3月, 2015 6 次提交
    • G
      sh_eth: Fix lost MAC address on kexec · a14c7d15
      Geert Uytterhoeven 提交于
      Commit 740c7f31 ("sh_eth: Ensure DMA engines are stopped before
      freeing buffers") added a call to sh_eth_reset() to the
      sh_eth_set_ringparam() and sh_eth_close() paths.
      
      However, setting the software reset bit(s) in the EDMR register resets
      the MAC Address Registers to zero. Hence after kexec, the new kernel
      doesn't detect a valid MAC address and assigns a random MAC address,
      breaking DHCP.
      
      Set the MAC address again after the reset in sh_eth_dev_exit() to fix
      this.
      
      Tested on r8a7740/armadillo (GETHER) and r8a7791/koelsch (FAST_RCAR).
      
      Fixes: 740c7f31 ("sh_eth: Ensure DMA engines are stopped before freeing buffers")
      Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a14c7d15
    • J
      net: bcmgenet: fix throughtput regression · 4092e6ac
      Jaedon Shin 提交于
      This patch adds bcmgenet_tx_poll for the tx_rings. This can reduce the
      interrupt load and send xmit in network stack on time. This also
      separated for the completion of tx_ring16 from bcmgenet_poll.
      
      The bcmgenet_tx_reclaim of tx_ring[{0,1,2,3}] operative by an interrupt
      is to be not more than a certain number TxBDs. It is caused by too
      slowly reclaiming the transmitted skb. Therefore, performance
      degradation of xmit after 605ad7f1 ("tcp: refine TSO autosizing").
      Signed-off-by: NJaedon Shin <jaedon.shin@gmail.com>
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4092e6ac
    • E
      macvtap: make sure neighbour code can push ethernet header · 2f1d8b9e
      Eric Dumazet 提交于
      Brian reported crashes using IPv6 traffic with macvtap/veth combo.
      
      I tracked the crashes in neigh_hh_output()
      
      -> memcpy(skb->data - HH_DATA_MOD, hh->hh_data, HH_DATA_MOD);
      
      Neighbour code assumes headroom to push Ethernet header is
      at least 16 bytes.
      
      It appears macvtap has only 14 bytes available on arches
      where NET_IP_ALIGN is 0 (like x86)
      
      Effect is a corruption of 2 bytes right before skb->head,
      and possible crashes if accessing non existing memory.
      
      This fix should also increase IPv4 performance, as paranoid code
      in ip_finish_output2() wont have to call skb_realloc_headroom()
      Reported-by: NBrian Rak <brak@vultr.com>
      Tested-by: NBrian Rak <brak@vultr.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2f1d8b9e
    • G
      drivers: net: cpsw: Set SECURE for dual_emac ucast · 56887149
      George McCollister 提交于
      Prior to this patch, sending a packet with the source MAC address of one
      of the CPSW interfaces to one of the CPSW slave ports while it's configured in
      dual_emac mode would update the port_num field of the VLAN/Unicast Address
      Table Entry. This would cause it to discard all incoming traffic addressed to
      that MAC address, essentially rendering the port useless until the ALE table is
      cleared (by starting and stopping the interface or rebooting.)
      
      For example, if eth0 has a MAC address of 90:59:af:8f:43:e9 it will have
      an ALE table entry:
      
      00 00 00 00 59 90 02 30 e9 43 8f af
      (VLAN Addr vlan_id=2 unicast type=0 port_num=0 addr=90:59:af:8f:43:e9)
      
      If you configure another device with the same MAC address and connect it
      to the first CPSW slave port and send some traffic the ALE table entry
      becomes:
      
      04 00 00 00 59 90 02 30 e9 43 8f af
      (VLAN Addr vlan_id=2 unicast type=0 port_num=1 addr=90:59:af:8f:43:e9)
      
      >From this point forward all incoming traffic addressed to
      90:59:af:8f:43:e9 will be dropped.
      
      Setting the SECURE bit for the VLAN/Unicast address table entry for each
      interface's MAC address corrects the problem.
      Signed-off-by: NGeorge McCollister <george.mccollister@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56887149
    • D
      niu: fix error handling in niu_class_to_ethflow() · f55ea3d9
      Dan Carpenter 提交于
      There is a discrepancy here because the niu_class_to_ethflow() returns
      zero on failure and one on success but the caller expected zero on
      success and negative on failure.
      
      The problem means that we allow the user to pass classes and flow_types
      which we don't want.  I've looked at it a bit and I don't see it as a
      very serious bug.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f55ea3d9
    • A
      net: smc91x: use run-time configuration on all ARM machines · b70661c7
      Arnd Bergmann 提交于
      The smc91x driver traditionally gets configured at compile-time
      for whichever hardware it runs on. This no longer works on
      ARM as we continue to move to building all-in-one kernels.
      
      Most ARM configurations with this driver already use run-time
      configuration through DT or through platform_data, but a
      few have not been converted yet.
      
      I've checked all ARM boards that use this driver in their
      legacy board files, and converted the ones that were using
      compile-time configuration in smc91x.h to behave like the
      other ones and provide the interrupt polarity along with
      the MMIO configuration (width, stride) at platform device
      creation time.
      
      In particular, these combinations were previously selectable
      in Kconfig but in fact broken:
      
      - sa1100 assabet plus pleb
      - msm combined with any other armv6/v7 platform
      - pxa-idp combined with any non-DMA pxa variant
      - LogicPD PXA270 combined with any other pxa
      - nomadik combined with any other armv4/v5 platform,
        e.g. versatile.
      
      None of these seem critical enough to warrant a backport
      to stable, but it would be nice to clean this up for good.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      ----
      I would like the patch to get merged through netdev, after
      Robert and/or Linus have verified it on at least some hardware.
      
      There are a few other non-ARM platforms using this driver,
      I could do the same patch for those if we want to take
      it further.
      
       arch/arm/mach-msm/board-halibut.c    |   8 ++++-
       arch/arm/mach-msm/board-qsd8x50.c    |   8 ++++-
       arch/arm/mach-pxa/idp.c              |   5 +++
       arch/arm/mach-pxa/lpd270.c           |   8 ++++-
       arch/arm/mach-realview/core.c        |   7 ++++
       arch/arm/mach-realview/realview_eb.c |   2 +-
       arch/arm/mach-sa1100/neponset.c      |   6 ++++
       arch/arm/mach-sa1100/pleb.c          |   7 ++++
       drivers/net/ethernet/smsc/smc91x.c   |   9 +++--
       drivers/net/ethernet/smsc/smc91x.h   | 114 ++----------------------------------------------------------
       10 files changed, 57 insertions(+), 117 deletions(-)
      Tested-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b70661c7
  4. 28 2月, 2015 6 次提交
  5. 26 2月, 2015 12 次提交