1. 05 6月, 2017 3 次提交
    • M
      amd-xgbe: use PAGE_ALLOC_COSTLY_ORDER in xgbe_map_rx_buffer · a7c0b8be
      Michal Hocko 提交于
      xgbe_map_rx_buffer is rather confused about what PAGE_ALLOC_COSTLY_ORDER
      means. It uses PAGE_ALLOC_COSTLY_ORDER-1 assuming that
      PAGE_ALLOC_COSTLY_ORDER is the first costly order which is not the case
      actually because orders larger than that are costly. And even that
      applies only to sleeping allocations which is not the case here. We
      simply do not perform any costly operations like reclaim or compaction
      for those. Simplify the code by dropping the order calculation and use
      PAGE_ALLOC_COSTLY_ORDER directly.
      Signed-off-by: NMichal Hocko <mhocko@suse.com>
      Acked-by: NTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a7c0b8be
    • L
      ip6_tunnel: fix traffic class routing for tunnels · 5f733ee6
      Liam McBirnie 提交于
      ip6_route_output() requires that the flowlabel contains the traffic
      class for policy routing.
      
      Commit 0e9a7095 ("ip6_tunnel, ip6_gre: fix setting of DSCP on
      encapsulated packets") removed the code which previously added the
      traffic class to the flowlabel.
      
      The traffic class is added here because only route lookup needs the
      flowlabel to contain the traffic class.
      
      Fixes: 0e9a7095 ("ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets")
      Signed-off-by: NLiam McBirnie <liam.mcbirnie@boeing.com>
      Acked-by: NPeter Dawson <peter.a.dawson@boeing.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f733ee6
    • T
      net: qcom/emac: do not use hardware mdio automatic polling · 24609669
      Timur Tabi 提交于
      Use software polling (PHY_POLL) to check for link state changes instead
      of relying on the EMAC's hardware polling feature.  Some PHY drivers
      are unable to get a functioning link because the HW polling is not
      robust enough.
      
      The EMAC is able to poll the PHY on the MDIO bus looking for link state
      changes (via the Link Status bit in the Status Register at address 0x1).
      When the link state changes, the EMAC triggers an interrupt and tells the
      driver what the new state is.  The feature eliminates the need for
      software to poll the MDIO bus.
      
      Unfortunately, this feature is incompatible with phylib, because it
      ignores everything that the PHY core and PHY drivers are trying to do.
      In particular:
      
      1. It assumes a compatible register set, so PHYs with different registers
         may not work.
      
      2. It doesn't allow for hardware errata that have work-arounds implemented
         in the PHY driver.
      
      3. It doesn't support multiple register pages. If the PHY core switches
         the register set to another page, the EMAC won't know the page has
         changed and will still attempt to read the same PHY register.
      
      4. It only checks the copper side of the link, not the SGMII side.  Some
         PHY drivers (e.g. at803x) may also check the SGMII side, and
         report the link as not ready during autonegotiation if the SGMII link
         is still down.  Phylib then waits for another interrupt to query
         the PHY again, but the EMAC won't send another interrupt because it
         thinks the link is up.
      
      Cc: stable@vger.kernel.org # 4.11.x
      Tested-by: NManoj Iyer <manoj.iyer@canonical.com>
      Signed-off-by: NTimur Tabi <timur@codeaurora.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24609669
  2. 03 6月, 2017 8 次提交
  3. 02 6月, 2017 12 次提交
  4. 01 6月, 2017 8 次提交
  5. 31 5月, 2017 9 次提交