1. 02 5月, 2012 1 次提交
    • S
      sky2: fix receive length error in mixed non-VLAN/VLAN traffic · e072b3fa
      stephen hemminger 提交于
      Bug: The VLAN bit of the MAC RX Status Word is unreliable in several older
      supported chips. Sometimes the VLAN bit is not set for valid VLAN packets
      and also sometimes the VLAN bit is set for non-VLAN packets that came after
      a VLAN packet. This results in a receive length error when VLAN hardware
      tagging is enabled.
      
      Fix: Variation on original fix proposed by Mirko.
      The VLAN information is decoded in the status loop, and can be
      applied to the received SKB there. This eliminates the need for the
      separate tag field in the interface data structure. The tag has to
      be copied and cleared if packet is copied. This version checked out
      with vlan and normal traffic.
      
      Note: vlan_tx_tag_present should be renamed vlan_tag_present, but that
      is outside scope of this.
      Reported-by: NMirko Lindner <mlindner@marvell.com>
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e072b3fa
  2. 18 11月, 2011 1 次提交
  3. 12 8月, 2011 1 次提交
  4. 08 7月, 2011 3 次提交
  5. 13 4月, 2011 1 次提交
  6. 31 3月, 2011 1 次提交
  7. 10 1月, 2011 1 次提交
  8. 02 1月, 2011 1 次提交
    • S
      sky2: implement 64 bit stats · 0885a30b
      stephen hemminger 提交于
      This implements 64 bit statistics support and fixes races when reading
      counter values. The PHY counters can only be accessed 16 bits at a time,
      so they are subject to carry races.
      
      NB:
        * TX/RX counters are maintained in software because the the hardware packet count
          is only a 32 bit value.
      
        * Error counters are really only 32 bit.
      
        * Old 32 bit counter fields in dev->stats still used for some
          software counters
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0885a30b
  9. 03 6月, 2010 1 次提交
  10. 29 4月, 2010 1 次提交
  11. 25 4月, 2010 1 次提交
  12. 23 4月, 2010 1 次提交
  13. 31 3月, 2010 2 次提交
  14. 13 2月, 2010 1 次提交
  15. 03 2月, 2010 1 次提交
  16. 30 10月, 2009 2 次提交
  17. 02 10月, 2009 1 次提交
    • S
      sky2: irqname based on pci address · 66466797
      Stephen Hemminger 提交于
      This is based on Michal Schmidt fix for skge.
      
      Most network drivers request their IRQ when the interface is activated.
      sky2 does it in ->probe() instead, because it can work with two-port
      cards where the two net_devices use the same IRQ. This works fine most
      of the time, except in some situations when the interface gets renamed.
      Consider this example:
      
      1. modprobe sky2
         The card is detected as eth0 and requests IRQ 17. Directory
         /proc/irq/17/eth0 is created.
      2. There is an udev rule which says this interface should be called
         eth1, so udev renames eth0 -> eth1.
      3. modprobe 8139too
         The Realtek card is detected as eth0. It will be using IRQ 17 too.
      4. ip link set eth0 up
         Now 8139too requests IRQ 17.
      
      The result is:
      WARNING: at fs/proc/generic.c:590 proc_register ...
      proc_dir_entry '17/eth0' already registered
      
      The fix is for sky2 to name the irq based on the pci device, as is done
      by some other devices DRM, infiniband, ...  ie. sky2@pci:0000:00:00
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Reviewed-by: NMichal Schmidt <mschmidt@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66466797
  18. 02 9月, 2009 2 次提交
  19. 19 8月, 2009 4 次提交
  20. 15 8月, 2009 2 次提交
  21. 04 8月, 2009 1 次提交
    • M
      sky2: Avoid transmits during sky2_down() · f6caa14a
      Mike McCormack 提交于
      This patch supersedes my previous patch "sky2: Avoid transmitting
      during sky2_restart".
      
      I have reworked the patch to avoid crashes during both sky2_restart()
      and sky2_set_ringparam().
      
      Without this patch, the sky2 driver can be crashed by doing:
      
      # pktgen eth1 &    (transmit many packets on eth1)
      # ethtool -G eth1 tx 510
      
      I am aware you object to storing extra state, but I can't see a way
      around this. Without remembering that we're restarting,
      netif_wake_queue() is called in the ISR from sky2_tx_complete(), and
      netif_tx_lock() is used in sky2_tx_done().  If anybody can see a way
      around this, please let me know.
      Signed-off-by: NMike McCormack <mikem@ring3k.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f6caa14a
  22. 18 6月, 2009 1 次提交
  23. 07 8月, 2008 1 次提交
  24. 18 6月, 2008 1 次提交
  25. 31 5月, 2008 2 次提交
  26. 13 5月, 2008 1 次提交
  27. 24 2月, 2008 1 次提交
  28. 06 2月, 2008 1 次提交
  29. 29 1月, 2008 1 次提交
  30. 13 1月, 2008 1 次提交