1. 14 10月, 2009 1 次提交
  2. 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
  3. 23 9月, 2009 1 次提交
  4. 21 9月, 2009 1 次提交
  5. 15 9月, 2009 2 次提交
  6. 04 9月, 2009 2 次提交
  7. 02 9月, 2009 3 次提交
  8. 01 9月, 2009 1 次提交
  9. 19 8月, 2009 7 次提交
  10. 15 8月, 2009 10 次提交
  11. 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
  12. 27 7月, 2009 1 次提交
  13. 22 7月, 2009 1 次提交
  14. 17 7月, 2009 1 次提交
  15. 27 6月, 2009 1 次提交
    • A
      sky2: Fix checksum endianness · b9389796
      Anton Vorontsov 提交于
      sky2 driver on PowerPC targets floods kernel log with following errors:
      
        eth1: hw csum failure.
        Call Trace:
        [ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable)
        [ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c
        [ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84
        [ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24
        [ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8
        [ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210
        [ef84b960] [c031a788] ip_rcv+0x38c/0x534
        [ef84b990] [c0300338] netif_receive_skb+0x260/0x36c
        [ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8
        [ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144
      
      The NIC is Yukon-2 EC chip revision 1.
      
      Converting checksum field from le16 to CPU byte order fixes the issue.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b9389796
  16. 18 6月, 2009 6 次提交