1. 11 8月, 2011 1 次提交
  2. 22 7月, 2011 1 次提交
  3. 22 6月, 2011 2 次提交
  4. 23 5月, 2011 2 次提交
    • P
      Add appropriate <linux/prefetch.h> include for prefetch users · 70c71606
      Paul Gortmaker 提交于
      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: NPaul <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: NLinus Torvalds <torvalds@linux-foundation.org>
      70c71606
    • P
      drivers/net: add prefetch header for prefetch users · c0cba59e
      Paul Gortmaker 提交于
      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: NPaul <paul.gortmaker@windriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c0cba59e
  5. 10 5月, 2011 1 次提交
  6. 30 4月, 2011 2 次提交
  7. 19 4月, 2011 1 次提交
  8. 15 4月, 2011 1 次提交
    • A
      ethtool: allow custom interval for physical identification · fce55922
      Allan, Bruce W 提交于
      When physical identification of an adapter is done by toggling the
      mechanism on and off through software utilizing the set_phys_id operation,
      it is done with a fixed duration for both on and off states.  Some drivers
      may want to set a custom duration for the on/off intervals.  This patch
      changes the API so the return code from the driver's entry point when it
      is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to
      cycle the on/off states, and updates the drivers that have already been
      converted to use the new set_phys_id and use the synchronous method for
      identifying an adapter.
      
      The physical identification frequency set in the updated drivers is based
      on how it was done prior to the introduction of set_phys_id.
      
      Compile tested only.  Also fixes a compiler warning in sfc.
      
      v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE
      v3: fold patchset into single patch and cleanup per Ben's feedback
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Sathya Perla <sathya.perla@emulex.com>
      Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
      Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Eilon Greenstein <eilong@broadcom.com>
      Cc: Divy Le Ray <divy@chelsio.com>
      Cc: Don Fry <pcnet32@frontier.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
      Cc: Steve Hodgson <shodgson@solarflare.com>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Cc: Matt Carlson <mcarlson@broadcom.com>
      Acked-by: NJon Mason <jdmason@kudzu.us>
      Acked-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fce55922
  9. 13 4月, 2011 1 次提交
    • D
      s2io: Fix warnings due to -Wunused-but-set-variable. · d83d282b
      David S. Miller 提交于
      Most of these are cases where we are trying to read back a register
      after a write to ensure completion.
      
      Simply pre-fixing the readl() or readq() with "(void)" is sufficient
      because these are volatile operations and the compiler cannot eliminate
      them just because no real assignment takes place.
      
      The case of free_rxd_blk()'s assignments to "struct buffAdd *ba" is a
      real spurious assignment as this variable is completely otherwise
      unused.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Acked-by: NJon Mason <jdmason@kudzu.us>
      d83d282b
  10. 07 4月, 2011 1 次提交
  11. 31 3月, 2011 1 次提交
  12. 28 3月, 2011 1 次提交
    • S
      net: fix ethtool->set_flags not intended -EINVAL return value · 673e63c6
      Stanislaw Gruszka 提交于
      After commit d5dbda23 "ethtool: Add
      support for vlan accleration.", drivers that have NETIF_F_HW_VLAN_TX,
      and/or NETIF_F_HW_VLAN_RX feature, but do not allow enable/disable vlan
      acceleration via ethtool set_flags, always return -EINVAL from that
      function. Fix by returning -EINVAL only if requested features do not
      match current settings and can not be changed by driver.
      
      Change any driver that define ethtool->set_flags to use
      ethtool_invalid_flags() to avoid similar problems in the future
      (also on drivers that do not have the problem).
      
      Tested with modified (to reproduce this bug) myri10ge driver.
      
      Cc: stable@kernel.org # 2.6.37+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      673e63c6
  13. 08 3月, 2011 1 次提交
  14. 12 12月, 2010 5 次提交
    • T
      drivers/net: don't use flush_scheduled_work() · 23f333a2
      Tejun Heo 提交于
      flush_scheduled_work() is on its way out.  This patch contains simple
      conversions to replace flush_scheduled_work() usage with direct
      cancels and flushes.
      
      Directly cancel the used works on driver detach and flush them in
      other cases.
      
      The conversions are mostly straight forward and the only dangers are,
      
      * Forgetting to cancel/flush one or more used works.
      
      * Cancelling when a work should be flushed (ie. the work must be
        executed once scheduled whether the driver is detaching or not).
      
      I've gone over the changes multiple times but it would be much
      appreciated if you can review with the above points in mind.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jay Cliburn <jcliburn@gmail.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Divy Le Ray <divy@chelsio.com>
      Cc: e1000-devel@lists.sourceforge.net
      Cc: Vasanthy Kolluri <vkolluri@cisco.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: Lennert Buytenhek <buytenh@wantstofly.org>
      Cc: Andrew Gallatin <gallatin@myri.com>
      Cc: Francois Romieu <romieu@fr.zoreil.com>
      Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
      Cc: Matt Carlson <mcarlson@broadcom.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
      Cc: netdev@vger.kernel.org
      23f333a2
    • J
      s2io: Using static const generally increases object text and decreases data... · 85a56498
      Jon Mason 提交于
      s2io: Using static const generally increases object text and decreases data size. It also generally decreases overall object size.
      
      text	   data	    bss	    dec	    hex	filename
       109387	    389	  24432	 134208	  20c40	drivers/net/s2io.o.old
       109358	    389	  24432	 134179	  20c23	drivers/net/s2io.o.new
      Signed-off-by: NJoe Perches <joe@perches.com>
      Acked-by: NJon Mason <jon.mason@exar.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      85a56498
    • J
      s2io: Update Driver Version · 11410b62
      Jon Mason 提交于
      Update Driver Version
      Signed-off-by: NJon Mason <jon.mason@exar.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      11410b62
    • J
      s2io: make strings at tables const · c0dbf37e
      Jon Mason 提交于
      Put immutable data in read/only section.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NJon Mason <jon.mason@exar.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c0dbf37e
    • J
      s2io: rx_ring_sz bounds checking · 1853e2e1
      Jon Mason 提交于
      modparm rx_ring_sz can be set to be greater than the maximum allowable
      number of blocks.  This results in an array overrun when probing the
      driver, and causes memory corruption.
      
      Also, the MAX_RX_DESC_1 multiply the max number of rings by max number
      of blocker per ring by 127, but the driver does the same calculation
      with 127+1.  This results in the possibility of the value being set
      being larger than the maximum allowable value.
      
      Finally, clean-up the s2io_ethtool_gringparam code to be more
      intuitive.
      Signed-off-by: NJon Mason <jon.mason@exar.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1853e2e1
  15. 18 11月, 2010 1 次提交
  16. 21 10月, 2010 1 次提交
  17. 03 9月, 2010 1 次提交
  18. 26 8月, 2010 1 次提交
  19. 19 8月, 2010 2 次提交
  20. 24 7月, 2010 1 次提交
    • K
      net: s2io: fix buffer overflow · 9c179780
      Kulikov Vasiliy 提交于
      vpd_data[] is allocated as kmalloc(256, GFP_KERNEL), so if cnt = 255
      then (cnt + 3) overflows 256. memset() is executed without checking.
      vpd_data[cnt+2] must be less than 256-cnt-2 as the latter is number of
      vpd_data[] elements to copy.
      
      Do not fill with zero the beginning of nic->serial_num as it will
      be filled with vpd_data[].
      
      String in product_name[] should be terminated by '\0'.
      Signed-off-by: NKulikov Vasiliy <segooon@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9c179780
  21. 20 7月, 2010 1 次提交
  22. 16 7月, 2010 1 次提交
  23. 03 7月, 2010 1 次提交
    • J
      s2io: resolve statistics issues · 4a490432
      Jon Mason 提交于
      This patch resolves a number of issues in the statistics gathering of
      the s2io driver.
      
      On Xframe adapters, the received multicast statistics counter includes
      pause frames which are not indicated to the driver.  This can cause
      issues where the multicast packet count is higher than what has actually
      been received, possibly higher than the number of packets received.
      
      The driver software counters are replaced with the adapter hardware
      statistics for rx_packets, rx_bytes, and tx_bytes.  It also uses the
      overflow registers to determine if the statistics wrapped the 32bit
      register (removing the window of having a statistic value less than the
      previous call).  rx_length_errors statistic now includes undersized
      packets in addition to oversized packets in its counting.  Finally,
      rx_crc_errors are now being counted.
      Signed-off-by: NJon Mason <jon.mason@exar.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a490432
  24. 01 7月, 2010 1 次提交
  25. 29 6月, 2010 1 次提交
  26. 14 5月, 2010 1 次提交
    • J
      drivers/net: Remove unnecessary returns from void function()s · a4b77097
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a4b77097
  27. 15 4月, 2010 1 次提交
  28. 04 4月, 2010 1 次提交
    • J
      net: convert multicast list to list_head · 22bedad3
      Jiri Pirko 提交于
      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: NJiri Pirko <jpirko@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      22bedad3
  29. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      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
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  30. 16 3月, 2010 1 次提交
  31. 06 3月, 2010 1 次提交
  32. 19 2月, 2010 1 次提交