Skip to content
Snippets Groups Projects
  1. Jul 23, 2011
  2. Jul 21, 2011
  3. Jul 01, 2011
  4. Jun 21, 2011
  5. Jun 06, 2011
  6. May 22, 2011
    • 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
  7. Apr 29, 2011
    • 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
  8. Apr 19, 2011
  9. Apr 14, 2011
  10. Apr 11, 2011
  11. Mar 31, 2011
  12. Dec 21, 2010
  13. Dec 12, 2010
  14. Nov 22, 2010
  15. Nov 17, 2010
  16. Nov 10, 2010
  17. Oct 27, 2010
  18. Oct 24, 2010
  19. Oct 21, 2010
  20. Sep 02, 2010
  21. Aug 26, 2010
  22. Aug 25, 2010
    • 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
  23. Aug 19, 2010
  24. Jul 21, 2010
  25. Jul 05, 2010
  26. Jul 02, 2010
  27. Jun 03, 2010
  28. May 14, 2010
    • 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
Loading