1. 31 1月, 2017 2 次提交
  2. 30 1月, 2017 4 次提交
  3. 26 1月, 2017 1 次提交
  4. 24 1月, 2017 1 次提交
    • F
      net: dsa: Check return value of phy_connect_direct() · 4078b76c
      Florian Fainelli 提交于
      We need to check the return value of phy_connect_direct() in
      dsa_slave_phy_connect() otherwise we may be continuing the
      initialization of a slave network device with a PHY that already
      attached somewhere else and which will soon be in error because the PHY
      device is in error.
      
      The conditions for such an error to occur are that we have a port of our
      switch that is not disabled, and has the same port number as a PHY
      address (say both 5) that can be probed using the DSA slave MII bus. We
      end-up having this slave network device find a PHY at the same address
      as our port number, and we try to attach to it.
      
      A slave network (e.g: port 0) has already attached to our PHY device,
      and we try to re-attach it with a different network device, but since we
      ignore the error we would end-up initializating incorrect device
      references by the time the slave network interface is opened.
      
      The code has been (re)organized several times, making it hard to provide
      an exact Fixes tag, this is a bugfix nonetheless.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4078b76c
  5. 19 1月, 2017 1 次提交
  6. 11 1月, 2017 2 次提交
  7. 07 1月, 2017 1 次提交
  8. 30 12月, 2016 1 次提交
  9. 30 11月, 2016 2 次提交
  10. 22 10月, 2016 1 次提交
  11. 12 10月, 2016 1 次提交
  12. 23 9月, 2016 2 次提交
  13. 01 9月, 2016 1 次提交
  14. 25 8月, 2016 1 次提交
    • V
      net: dsa: rename switch operations structure · 9d490b4e
      Vivien Didelot 提交于
      Now that the dsa_switch_driver structure contains only function pointers
      as it is supposed to, rename it to the more appropriate dsa_switch_ops,
      uniformly to any other operations structure in the kernel.
      
      No functional changes here, basically just the result of something like:
      s/dsa_switch_driver *drv/dsa_switch_ops *ops/g
      
      However keep the {un,}register_switch_driver functions and their
      dsa_switch_drivers list as is, since they represent the -- likely to be
      deprecated soon -- legacy DSA registration framework.
      
      In the meantime, also fix the following checks from checkpatch.pl to
      make it happy with this patch:
      
          CHECK: Comparison to NULL could be written "!ops"
          #403: FILE: net/dsa/dsa.c:470:
          +	if (ops == NULL) {
      
          CHECK: Comparison to NULL could be written "ds->ops->get_strings"
          #773: FILE: net/dsa/slave.c:697:
          +		if (ds->ops->get_strings != NULL)
      
          CHECK: Comparison to NULL could be written "ds->ops->get_ethtool_stats"
          #824: FILE: net/dsa/slave.c:785:
          +	if (ds->ops->get_ethtool_stats != NULL)
      
          CHECK: Comparison to NULL could be written "ds->ops->get_sset_count"
          #835: FILE: net/dsa/slave.c:798:
          +		if (ds->ops->get_sset_count != NULL)
      
          total: 0 errors, 0 warnings, 4 checks, 784 lines checked
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9d490b4e
  15. 20 7月, 2016 1 次提交
  16. 09 6月, 2016 3 次提交
  17. 05 6月, 2016 6 次提交
  18. 12 5月, 2016 2 次提交
  19. 29 4月, 2016 1 次提交
    • F
      net: dsa: Provide CPU port statistics to master netdev · badf3ada
      Florian Fainelli 提交于
      This patch overloads the DSA master netdev, aka CPU Ethernet MAC to also
      include switch-side statistics, which is useful for debugging purposes,
      when the switch is not properly connected to the Ethernet MAC (duplex
      mismatch, (RG)MII electrical issues etc.).
      
      We accomplish this by retaining the original copy of the master netdev's
      ethtool_ops, and just overload the 3 operations we care about:
      get_sset_count, get_strings and get_ethtool_stats so as to intercept
      these calls and call into the original master_netdev ethtool_ops, plus
      our own.
      
      We take this approach as opposed to providing a set of DSA helper
      functions that would retrive the CPU port's statistics, because the
      entire purpose of DSA is to allow unmodified Ethernet MAC drivers to be
      used as CPU conduit interfaces, therefore, statistics overlay in such
      drivers would simply not scale.
      
      The new ethtool -S <iface> output would therefore look like this now:
      <iface> statistics
      p<2 digits cpu port number>_<switch MIB counter names>
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      badf3ada
  20. 20 4月, 2016 1 次提交
  21. 09 4月, 2016 3 次提交
  22. 15 3月, 2016 2 次提交