1. 23 4月, 2014 3 次提交
  2. 11 4月, 2014 2 次提交
  3. 01 4月, 2014 1 次提交
  4. 28 3月, 2014 2 次提交
  5. 21 3月, 2014 6 次提交
    • C
      igb: Unset IGB_FLAG_HAS_MSIX-flag when falling back to msi-only · b709323d
      Christoph Paasch 提交于
      Prior to cd14ef54 (igb: Change to use statically allocated array for
      MSIx entries), having msix_entries different from NULL was an indicator
      that MSIX is enabled.
      In igb_set_interrupt_capabiliy we may fall back to MSI-only. Prior to
      the above patch msix_entries was set to NULL by
      igb_reset_interrupt_capability.
      
      However, now we are checking the flag for IGB_FLAG_HAS_MSIX and so the
      stack gets completly confused:
      
      [   42.659791] ------------[ cut here ]------------
      [   42.715032] WARNING: CPU: 7 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0x15c/0x1fb()
      [   42.848263] NETDEV WATCHDOG: eth0 (igb): transmit queue 0 timed out
      [   42.923253] Modules linked in:
      [   42.959875] CPU: 7 PID: 0 Comm: swapper/7 Not tainted 3.14.0-rc2-mptcp #437
      [   43.043184] Hardware name: HP ProLiant DL165 G7, BIOS O37 01/26/2011
      [   43.119215]  0000000000000108 ffff88023fdc3da8 ffffffff81487847 0000000000000108
      [   43.208165]  ffff88023fdc3df8 ffff88023fdc3de8 ffffffff81034e7d ffff88023fdc3dd8
      [   43.297120]  ffffffff813fff10 ffff880236018000 ffff880236b178c0 0000000000000008
      [   43.386071] Call Trace:
      [   43.415303]  <IRQ>  [<ffffffff81487847>] dump_stack+0x49/0x62
      [   43.484174]  [<ffffffff81034e7d>] warn_slowpath_common+0x77/0x91
      [   43.556049]  [<ffffffff813fff10>] ? dev_watchdog+0x15c/0x1fb
      [   43.623759]  [<ffffffff81034f2b>] warn_slowpath_fmt+0x41/0x43
      [   43.692511]  [<ffffffff813fff10>] dev_watchdog+0x15c/0x1fb
      [   43.758141]  [<ffffffff813ffdb4>] ? __netdev_watchdog_up+0x64/0x64
      [   43.832091]  [<ffffffff8103cd04>] call_timer_fn+0x17/0x6f
      [   43.896682]  [<ffffffff8103cebe>] run_timer_softirq+0x162/0x1a2
      [   43.967511]  [<ffffffff81038520>] __do_softirq+0xcd/0x1cc
      [   44.032104]  [<ffffffff81038689>] irq_exit+0x3a/0x48
      [   44.091492]  [<ffffffff81026d43>] smp_apic_timer_interrupt+0x43/0x50
      [   44.167525]  [<ffffffff8148c24a>] apic_timer_interrupt+0x6a/0x70
      [   44.239392]  <EOI>  [<ffffffff8100992c>] ? default_idle+0x6/0x8
      [   44.310343]  [<ffffffff81009b31>] arch_cpu_idle+0x13/0x18
      [   44.374934]  [<ffffffff81066126>] cpu_startup_entry+0xa7/0x101
      [   44.444724]  [<ffffffff81025660>] start_secondary+0x1b2/0x1b7
      [   44.513472] ---[ end trace a5a075fd4e7f854f ]---
      [   44.568753] igb 0000:04:00.0 eth0: Reset adapter
      [   46.206945] random: nonblocking pool is initialized
      [   46.465670] irq 44: nobody cared (try booting with the "irqpoll" option)
      [   46.545862] CPU: 7 PID: 0 Comm: swapper/7 Tainted: G        W    3.14.0-rc2-mptcp #437
      [   46.640610] Hardware name: HP ProLiant DL165 G7, BIOS O37 01/26/2011
      [   46.716641]  ffff8802363f8c84 ffff88023fdc3e38 ffffffff81487847 00000000a03cdb6d
      [   46.805598]  ffff8802363f8c00 ffff88023fdc3e68 ffffffff81068489 0000007f81825400
      [   46.894539]  ffff8802363f8c00 0000000000000000 0000000000000000 ffff88023fdc3ea8
      [   46.983484] Call Trace:
      [   47.012714]  <IRQ>  [<ffffffff81487847>] dump_stack+0x49/0x62
      [   47.081585]  [<ffffffff81068489>] __report_bad_irq+0x35/0xc1
      [   47.149295]  [<ffffffff81068683>] note_interrupt+0x16e/0x1ea
      [   47.217006]  [<ffffffff8106679e>] handle_irq_event_percpu+0x116/0x12e
      [   47.294075]  [<ffffffff810667e9>] handle_irq_event+0x33/0x4f
      [   47.361787]  [<ffffffff81068c95>] handle_fasteoi_irq+0x83/0xd1
      [   47.431577]  [<ffffffff81003d5b>] handle_irq+0x1f/0x28
      [   47.493047]  [<ffffffff81003567>] do_IRQ+0x4e/0xd4
      [   47.550358]  [<ffffffff8148b06a>] common_interrupt+0x6a/0x6a
      [   47.618066]  <EOI>  [<ffffffff8100992c>] ? default_idle+0x6/0x8
      [   47.689016]  [<ffffffff81009b31>] arch_cpu_idle+0x13/0x18
      [   47.753605]  [<ffffffff81066126>] cpu_startup_entry+0xa7/0x101
      [   47.823397]  [<ffffffff81025660>] start_secondary+0x1b2/0x1b7
      [   47.892146] handlers:
      [   47.919301] [<ffffffff812fbd7d>] igb_intr
      
      So, this patch unsets the flag to indicate that we are not using MSIX.
      This patch does exactly this: Unsetting the flag when falling back to MSI.
      
      Fixes: cd14ef54 (igb: Change to use statically allocated array for MSIx entries)
      Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
      Signed-off-by: NChristoph Paasch <christoph.paasch@uclouvain.be>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b709323d
    • C
      igb: Fix Null-pointer dereference in igb_reset_q_vector · cb06d102
      Christoph Paasch 提交于
      When igb_set_interrupt_capability() calls
      igb_reset_interrupt_capability() (e.g., because CONFIG_PCI_MSI is unset),
      num_q_vectors has been set but no vector has yet been allocated.
      
      igb_reset_interrupt_capability() will then call igb_reset_q_vector,
      which assumes that the vector is allocated. As this is not the case, we
      are accessing a NULL-pointer.
      
      This patch fixes it by checking that q_vector is indeed different from
      NULL.
      
      Fixes: 02ef6e1d (igb: Fix queue allocation method to accommodate changing during runtime)
      Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
      Signed-off-by: NChristoph Paasch <christoph.paasch@uclouvain.be>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      cb06d102
    • K
      igb: specify phc_index of 82575 for get_ts_info · 0f49da0e
      Ken ICHIKAWA 提交于
      82575 has only software timestamping capability and it has
      no PTP Hardware Clocks. Therefore, -1 has to be specified
      to the phc_index for ethtool's get_ts_info, otherwise a wrong
      value will be set to the phc_index.
      
      v2: move the if (adapter->ptp_clock) section specifying phc_index
          to above the switch statement as suggested by Matthew Vick.
          adapter->ptpclock will always be NULL for 82575.
      Signed-off-by: NKen ICHIKAWA <ichikawa.ken@jp.fujitsu.com>
      Acked-by: NMatthew Vick <matthew.vick@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      0f49da0e
    • C
      igb: Fix memory leak in igb_get_module_eeprom() · db41b87d
      Christian Engelmayer 提交于
      Fix a memory leak in the igb_get_module_eeprom() error handling path.
      Detected by Coverity: CID 1016508.
      Signed-off-by: NChristian Engelmayer <cengelma@gmx.at>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      db41b87d
    • F
      igb: add register rd/wr for surprise removal · 22a8b291
      Fujinaka, Todd 提交于
      Add initial register rd/wr for surprise removal (LER).
      Signed-off-by: NTodd Fujinaka <todd.fujinaka@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      22a8b291
    • J
      igb: implement SIOCGHWTSTAMP ioctl · 6ab5f7b2
      Jacob Keller 提交于
      This patch adds support for the SIOCGHWTSTAMP ioctl which enables user
      processes to read the current hwtstamp_config settings
      non-destructively. Previously a process had to be privileged and could
      only set values, it couldn't return what is currently set without
      possibly overwriting the value.
      
      This patch adds support for this new operation into igb by keeping a
      shadow copy of the config in the adapter structure, which is returned
      upon request.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Acked-by: NMatthew Vick <matthew.vick@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      6ab5f7b2
  6. 20 3月, 2014 3 次提交
  7. 19 3月, 2014 1 次提交
  8. 15 3月, 2014 3 次提交
  9. 13 3月, 2014 2 次提交
  10. 08 3月, 2014 2 次提交
  11. 27 2月, 2014 2 次提交
  12. 19 2月, 2014 1 次提交
  13. 18 12月, 2013 2 次提交
  14. 15 12月, 2013 1 次提交
  15. 10 12月, 2013 5 次提交
  16. 30 11月, 2013 1 次提交
  17. 11 11月, 2013 1 次提交
  18. 06 11月, 2013 1 次提交
    • J
      net: Explicitly initialize u64_stats_sync structures for lockdep · 827da44c
      John Stultz 提交于
      In order to enable lockdep on seqcount/seqlock structures, we
      must explicitly initialize any locks.
      
      The u64_stats_sync structure, uses a seqcount, and thus we need
      to introduce a u64_stats_init() function and use it to initialize
      the structure.
      
      This unfortunately adds a lot of fairly trivial initialization code
      to a number of drivers. But the benefit of ensuring correctness makes
      this worth while.
      
      Because these changes are required for lockdep to be enabled, and the
      changes are quite trivial, I've not yet split this patch out into 30-some
      separate patches, as I figured it would be better to get the various
      maintainers thoughts on how to best merge this change along with
      the seqcount lockdep enablement.
      
      Feedback would be appreciated!
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      Acked-by: NJulian Anastasov <ja@ssi.bg>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
      Cc: James Morris <jmorris@namei.org>
      Cc: Jesse Gross <jesse@nicira.com>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Mirko Lindner <mlindner@marvell.com>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: Roger Luethi <rl@hellgate.ch>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Stephen Hemminger <stephen@networkplumber.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Wensong Zhang <wensong@linux-vs.org>
      Cc: netdev@vger.kernel.org
      Link: http://lkml.kernel.org/r/1381186321-4906-2-git-send-email-john.stultz@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      827da44c
  19. 01 11月, 2013 1 次提交