1. 03 2月, 2008 3 次提交
  2. 29 1月, 2008 1 次提交
    • A
      forcedeth endianness bugs · 5bb7ea26
      Al Viro 提交于
      * misannotation: struct register_test members are actually host-endian
      * bug: cpu_to_le64(n) >> 32 instead of cpu_to_le32(n >> 32) in setting
      ->bufhigh and similar for ->buflow (take low bits, _then_ convert to
      little-endian, not the other way round).
      * bug: setup_hw_rings() should not convert to little-endian at all (we
      feed the result to writel(), not store in shared data structure), let
      alone try to play with shifting and masking little-endian values.  Introduced
      when setup_hw_rings() went in, screwed both 64bit case and the old code for
      32bit rings it had replaced.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      5bb7ea26
  3. 09 1月, 2008 1 次提交
    • B
      [FORCEDETH]: Fix reversing the MAC address on suspend. · 2e3884b5
      Björn Steinbrink 提交于
      For cards that initially have the MAC address stored in reverse order,
      the forcedeth driver uses a flag to signal whether the address was
      already corrected, so that it is not reversed again on a subsequent
      probe.
      
      Unfortunately this flag, which is stored in a register of the card,
      seems to get lost during suspend, resulting in the MAC address being
      reversed again. To fix that, the MAC address needs to be written back
      in reversed order before we suspend and the flag needs to be reset.
      
      The flag is still required because at least kexec will never write
      back the reversed address and thus needs to know what state the card
      is in.
      Signed-off-by: NBjörn Steinbrink <B.Steinbrink@gmx.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e3884b5
  4. 24 11月, 2007 2 次提交
  5. 25 10月, 2007 1 次提交
  6. 18 10月, 2007 2 次提交
  7. 17 10月, 2007 3 次提交
    • J
      [netdrvr] forcedeth: remove in-driver copy of net_device_stats · 8148ff45
      Jeff Garzik 提交于
      A copy of struct net_device_stats now lives in struct net_device,
      making in-driver copies a waste of memory.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      8148ff45
    • J
      [netdrvr] forcedeth: improved probe info; dev_printk() cleanups · 3f88ce49
      Jeff Garzik 提交于
      main change:
      * greatly improve per-NIC probe diagnostic output.  Similar to other
        net drivers, print out MAC address, PHY info, and various hardware and
        software flags that may be relevant.
      
      other changes:
      * similar to other net drivers, only print the initial version message
        when we have found at least one board.
      
      * don't bother to print error message when pci_enable_device() fails,
        it will do so for us.
      
      * use dev_printk() rather than printk() in nv_probe().  This gives
        use a standardized output similar to the rest of the kernel, and
        eliminates the need to manually print out PCI bus id.
      
      * use DRV_NAME constant where appropriate
      
      * clean struct pci_driver indentation
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      3f88ce49
    • I
      forcedeth: fix NAPI rx poll function · bcb5febb
      Ingo Molnar 提交于
      fix the forcedeth NAPI poll function to not emit this warning:
      
      [  186.635916] WARNING: at net/core/dev.c:2166 net_rx_action()
      [  186.641351]  [<c060d9f5>] net_rx_action+0x145/0x1b0
      [  186.646191]  [<c011d752>] __do_softirq+0x42/0x90
      [  186.650784]  [<c011d7c6>] do_softirq+0x26/0x30
      [  186.655202]  [<c011db48>] local_bh_enable+0x48/0xa0
      [  186.660055]  [<c06023e0>] lock_sock_nested+0xa0/0xc0
      [  186.664995]  [<c065da16>] tcp_recvmsg+0x16/0xbc0
      [  186.669588]  [<c013e94b>] __generic_file_aio_write_nolock+0x27b/0x520
      [  186.676001]  [<c0601d75>] sock_common_recvmsg+0x45/0x70
      [  186.681202]  [<c05ff5df>] sock_aio_read+0x11f/0x140
      [  186.686054]  [<c015c086>] do_sync_read+0xc6/0x110
      [  186.690735]  [<c012b9b0>] autoremove_wake_function+0x0/0x40
      [  186.696280]  [<c060dcfc>] net_tx_action+0x3c/0xe0
      [  186.700961]  [<c015c9c2>] vfs_read+0x132/0x140
      [  186.705378]  [<c015cd41>] sys_read+0x41/0x70
      [  186.709625]  [<c0102b66>] sysenter_past_esp+0x5f/0x89
      [  186.714651]  =======================
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      bcb5febb
  8. 11 10月, 2007 6 次提交
  9. 25 8月, 2007 1 次提交
  10. 19 8月, 2007 1 次提交
    • T
      fix random hang in forcedeth driver when using netconsole · 1a2b7330
      Timo Jantunen 提交于
      If the forcedeth driver receives too much work in an interrupt, it
      assumes it has a broken hardware with stuck IRQ.  It works around the
      problem by disabling interrupts on the nic but makes a printk while
      holding device spinlog - which isn't smart thing to do if you have
      netconsole on the same nic.
      
      This patch moves the printk's out of the spinlock protected area.
      
      Without this patch the machine hangs hard.  With this patch everything
      still works even when there is significant increase on CPU usage while
      using the nic.
      Signed-off-by: NTimo Jantunen <jeti@iki.fi>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1a2b7330
  11. 01 8月, 2007 1 次提交
  12. 31 7月, 2007 1 次提交
  13. 25 7月, 2007 1 次提交
  14. 20 7月, 2007 1 次提交
  15. 17 7月, 2007 3 次提交
  16. 12 7月, 2007 1 次提交
    • A
      PCI: Change all drivers to use pci_device->revision · 44c10138
      Auke Kok 提交于
      Instead of all drivers reading pci config space to get the revision
      ID, they can now use the pci_device->revision member.
      
      This exposes some issues where drivers where reading a word or a dword
      for the revision number, and adding useless error-handling around the
      read. Some drivers even just read it for no purpose of all.
      
      In devices where the revision ID is being copied over and used in what
      appears to be the equivalent of hotpath, I have left the copy code
      and the cached copy as not to influence the driver's performance.
      
      Compile tested with make all{yes,mod}config on x86_64 and i386.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Acked-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      44c10138
  17. 21 6月, 2007 1 次提交
    • T
      forcedeth: use unicast receive mode for WoL · 2cc49a5c
      Tim Mann 提交于
      I happened to notice that a system with an NVidia NIC using the
      forcedeth driver won't wake-on-LAN if the interface was in promiscuous
      mode when you power off.  By experiment, it looks like
      the hardware needs to have NvRegPacketFilterFlags set to
      NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR (i.e., receive unicast packets to my
      address) in order for WoL to work.
      
      Jeff Garzik writes: "NVIDIA says the patch looks OK."  I didn't venture
      to insert a signed-off-by line with his name on it, though.
      Signed-off-by: NTim Mann <mann@vmware.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      2cc49a5c
  18. 03 6月, 2007 1 次提交
  19. 25 5月, 2007 1 次提交
  20. 26 4月, 2007 3 次提交
  21. 28 3月, 2007 2 次提交
  22. 27 2月, 2007 3 次提交