1. 06 Jun, 2011 1 commit
  2. 22 May, 2011 2 commits
    • Paul Gortmaker's avatar
      Add appropriate <linux/prefetch.h> include for prefetch users · 70c71606
      Paul Gortmaker authored
      
      
      After discovering that wide use of prefetch on modern CPUs
      could be a net loss instead of a win, net drivers which were
      relying on the implicit inclusion of prefetch.h via the list
      headers showed up in the resulting cleanup fallout.  Give
      them an explicit include via the following $0.02 script.
      
       =========================================
       #!/bin/bash
       MANUAL=""
       for i in `git grep -l 'prefetch(.*)' .` ; do
       	grep -q '<linux/prefetch.h>' $i
       	if [ $? = 0 ] ; then
       		continue
       	fi
      
       	(	echo '?^#include <linux/?a'
       		echo '#include <linux/prefetch.h>'
       		echo .
       		echo w
       		echo q
       	) | ed -s $i > /dev/null 2>&1
       	if [ $? != 0 ]; then
       		echo $i needs manual fixup
       		MANUAL="$i $MANUAL"
       	fi
       done
       echo ------------------- 8\<----------------------
       echo vi $MANUAL
       =========================================
      Signed-off-by: default avatarPaul <paul.gortmaker@windriver.com>
      [ Fixed up some incorrect #include placements, and added some
        non-network drivers and the fib_trie.c case    - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70c71606
    • Paul Gortmaker's avatar
      drivers/net: add prefetch header for prefetch users · c0cba59e
      Paul Gortmaker authored
      
      
      After discovering that wide use of prefetch on modern CPUs
      could be a net loss instead of a win, net drivers which were
      relying on the implicit inclusion of prefetch.h via the list
      headers showed up in the resulting cleanup fallout.  Give
      them an explicit include via the following $0.02 script.
      
       =========================================
       #!/bin/bash
       MANUAL=""
       for i in `git grep -l 'prefetch(.*)' .` ; do
       	grep -q '<linux/prefetch.h>' $i
       	if [ $? = 0 ] ; then
       		continue
       	fi
      
       	(	echo '?^#include <linux/?a'
       		echo '#include <linux/prefetch.h>'
       		echo .
       		echo w
       		echo q
       	) | ed -s $i > /dev/null 2>&1
       	if [ $? != 0 ]; then
       		echo $i needs manual fixup
       		MANUAL="$i $MANUAL"
       	fi
       done
       echo ------------------- 8\<----------------------
       echo vi $MANUAL
       =========================================
      Signed-off-by: default avatarPaul <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c0cba59e
  3. 29 Apr, 2011 1 commit
    • David Decotigny's avatar
      ethtool: cosmetic: Use ethtool ethtool_cmd_speed API · 70739497
      David Decotigny authored
      
      
      This updates the network drivers so that they don't access the
      ethtool_cmd::speed field directly, but use ethtool_cmd_speed()
      instead.
      
      For most of the drivers, these changes are purely cosmetic and don't
      fix any problem, such as for those 1GbE/10GbE drivers that indirectly
      call their own ethtool get_settings()/mii_ethtool_gset(). The changes
      are meant to enforce code consistency and provide robustness with
      future larger throughputs, at the expense of a few CPU cycles for each
      ethtool operation.
      
      All drivers compiled with make allyesconfig ion x86_64 have been
      updated.
      
      Tested: make allyesconfig on x86_64 + e1000e/bnx2x work
      Signed-off-by: default avatarDavid Decotigny <decot@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      70739497
  4. 19 Apr, 2011 1 commit
  5. 14 Apr, 2011 1 commit
  6. 11 Apr, 2011 1 commit
  7. 31 Mar, 2011 1 commit
  8. 21 Dec, 2010 1 commit
  9. 12 Dec, 2010 1 commit
  10. 22 Nov, 2010 1 commit
  11. 17 Nov, 2010 1 commit
  12. 10 Nov, 2010 2 commits
  13. 27 Oct, 2010 1 commit
  14. 24 Oct, 2010 2 commits
  15. 21 Oct, 2010 1 commit
  16. 02 Sep, 2010 1 commit
  17. 26 Aug, 2010 1 commit
  18. 25 Aug, 2010 1 commit
    • Breno Leitao's avatar
      qlge: Fix a deadlock when the interface is going down · c5dadddb
      Breno Leitao authored
      
      
      Currently qlge can deadlock when the interface is going
      down, and the mpi_port_cfg_work() is executing on another
      processor. It happens because unregister_netdev() holds
      the rtnl lock, and the mpi_port_cfg_work() also request
      this lock.
      
      Since unregiter_netdev() may wait mpi_port_cfg_work(), who
      also request the holding lock, it can cause an deadlock,
      displaying the following error:
      
       "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
       rmmod         D 00000080c6c1d190     0  3993   2081 0x00008080
       Call Trace:
       [c000000975f56ee0] [c0000000000152a0] .__switch_to+0x100/0x1d0
       [c000000975f56f70] [c0000000005781b4] .schedule+0x3a4/0x8c0
       [c000000975f570c0] [c000000000578e8c] .schedule_timeout+0x24c/0x350
       [c000000975f571e0] [c000000000578a88] .wait_for_common+0x198/0x210
       [c000000975f572c0] [c0000000000abbb4] .__cancel_work_timer+0x2c4/0x2e0
       [c000000975f57400] [d0000000078e7a20] .ql_adapter_down+0x80/0x260 [qlge]
       [c000000975f574b0] [d0000000078e7d80] .qlge_close+0x70/0x130 [qlge]
       [c000000975f57540] [c000000000497ef8] .__dev_close+0x98/0xf0
       [c000000975f575d0] [c000000000497f74] .dev_close+0x24/0x60
       [c000000975f57650] [c000000000498080] .rollback_registered_many+0xd0/0x2b0
       [c000000975f576f0] [c000000000498338] .rollback_registered+0x38/0x50
       [c000000975f57780] [c0000000004983d8] .unregister_netdevice_queue+0x88/0xe0
       [c000000975f57810] [c000000000498574] .unregister_netdev+0x24/0x40
       [c000000975f57890] [d0000000078f6f38] .qlge_remove+0x3c/0x78 [qlge]
       [c000000975f57920] [c0000000002d9298] .pci_device_remove+0x48/0x90
       [c000000975f579a0] [c000000000372850] .__device_release_driver+0xa0/0x130
       [c000000975f57a30] [c000000000372a08] .driver_detach+0x128/0x150
       [c000000975f57ad0] [c000000000371134] .bus_remove_driver+0xc4/0x1a0
       [c000000975f57b70] [c00000000037357c] .driver_unregister+0x8c/0xd0
       [c000000975f57c00] [c0000000002d968c] .pci_unregister_driver+0x5c/0x110
       [c000000975f57ca0] [d0000000078f6ee4] .qlge_exit+0x1c/0x34 [qlge]
      Signed-off-by: default avatarBreno Leitao <leitao@linux.vnet.ibm.com>
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c5dadddb
  19. 19 Aug, 2010 1 commit
  20. 21 Jul, 2010 1 commit
  21. 05 Jul, 2010 6 commits
  22. 02 Jul, 2010 2 commits
  23. 03 Jun, 2010 1 commit
  24. 14 May, 2010 1 commit
    • Joe Perches's avatar
      drivers/net: Remove unnecessary returns from void function()s · a4b77097
      Joe Perches authored
      
      
      This patch removes from drivers/net/ all the unnecessary
      return; statements that precede the last closing brace of
      void functions.
      
      It does not remove the returns that are immediately
      preceded by a label as gcc doesn't like that.
      
      It also does not remove null void functions with return.
      
      Done via:
      $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \
        xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }'
      
      with some cleanups by hand.
      
      Compile tested x86 allmodconfig only.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a4b77097
  25. 13 Apr, 2010 1 commit
  26. 03 Apr, 2010 1 commit
    • Jiri Pirko's avatar
      net: convert multicast list to list_head · 22bedad3
      Jiri Pirko authored
      
      
      Converts the list and the core manipulating with it to be the same as uc_list.
      
      +uses two functions for adding/removing mc address (normal and "global"
       variant) instead of a function parameter.
      +removes dev_mcast.c completely.
      +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for
       manipulation with lists on a sandbox (used in bonding and 80211 drivers)
      Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      22bedad3
  27. 30 Mar, 2010 1 commit
    • Tejun Heo's avatar
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo authored
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        bloc...
      5a0e3ad6
  28. 24 Mar, 2010 1 commit
  29. 26 Feb, 2010 1 commit
  30. 17 Feb, 2010 2 commits