1. 04 5月, 2015 1 次提交
  2. 10 4月, 2015 1 次提交
  3. 09 3月, 2015 1 次提交
  4. 01 1月, 2015 1 次提交
  5. 13 8月, 2014 1 次提交
  6. 14 5月, 2014 1 次提交
  7. 20 3月, 2014 1 次提交
  8. 31 1月, 2014 1 次提交
    • M
      e100: Fix "disabling already-disabled device" warning · 2b6e0ca1
      Michele Baldessari 提交于
      In https://bugzilla.redhat.com/show_bug.cgi?id=994438 and
      https://bugzilla.redhat.com/show_bug.cgi?id=970480  we
      received different reports of e100 throwing the following
      warning:
      
       [<c06a0ba5>] ? pci_disable_device+0x85/0x90
       [<c044a153>] warn_slowpath_fmt+0x33/0x40
       [<c06a0ba5>] pci_disable_device+0x85/0x90
       [<f7fdf7e0>] __e100_shutdown+0x80/0x120 [e100]
       [<c0476ca5>] ? check_preempt_curr+0x65/0x90
       [<f7fdf8d6>] e100_suspend+0x16/0x30 [e100]
       [<c06a1ebb>] pci_legacy_suspend+0x2b/0xb0
       [<c098fc0f>] ? wait_for_completion+0x1f/0xd0
       [<c06a2d50>] ? pci_pm_poweroff+0xb0/0xb0
       [<c06a2de4>] pci_pm_freeze+0x94/0xa0
       [<c0767bb7>] dpm_run_callback+0x37/0x80
       [<c076a204>] ? pm_wakeup_pending+0xc4/0x140
       [<c0767f12>] __device_suspend+0xb2/0x1f0
       [<c076806f>] async_suspend+0x1f/0x90
       [<c04706e5>] async_run_entry_fn+0x35/0x140
       [<c0478aef>] ? wake_up_process+0x1f/0x40
       [<c0464495>] process_one_work+0x115/0x370
       [<c0462645>] ? start_worker+0x25/0x30
       [<c0464dc5>] ? manage_workers.isra.27+0x1a5/0x250
       [<c0464f6e>] worker_thread+0xfe/0x330
       [<c0464e70>] ? manage_workers.isra.27+0x250/0x250
       [<c046a224>] kthread+0x94/0xa0
       [<c0997f37>] ret_from_kernel_thread+0x1b/0x28
       [<c046a190>] ? insert_kthread_work+0x30/0x30
      
      This patch removes pci_disable_device() from __e100_shutdown().
      pci_clear_master() is enough.
      Signed-off-by: NMichele Baldessari <michele@acksyn.org>
      Tested-by: NMark Harig <idirectscm@aim.com>
      Signed-off-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b6e0ca1
  9. 22 10月, 2013 1 次提交
  10. 28 7月, 2013 1 次提交
  11. 29 6月, 2013 1 次提交
  12. 11 4月, 2013 1 次提交
    • N
      e100: Add dma mapping error check · 61a0f6ef
      Neil Horman 提交于
      e100 uses pci_map_single, but fails to check for a dma mapping error after its
      use, resulting in a stack trace:
      
      [   46.656594] ------------[ cut here ]------------
      [   46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
      [   46.657004] Hardware name: To Be Filled By O.E.M.
      [   46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
      error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
      [   46.657004] Modules linked in:
      [   46.657004]  w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
      snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
      e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
      k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
      sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
      drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
      sata_promise crc_itu_t
      [   46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
      [   46.657004] Call Trace:
      [   46.657004]  <IRQ>  [<ffffffff81065ed0>] warn_slowpath_common+0x70/0xa0
      [   46.657004]  [<ffffffff81065f4c>] warn_slowpath_fmt+0x4c/0x50
      [   46.657004]  [<ffffffff81364cfb>] check_unmap+0x47b/0x950
      [   46.657004]  [<ffffffff8136522f>] debug_dma_unmap_page+0x5f/0x70
      [   46.657004]  [<ffffffffa030f0f0>] ? e100_tx_clean+0x30/0x210 [e100]
      [   46.657004]  [<ffffffffa030f1a8>] e100_tx_clean+0xe8/0x210 [e100]
      [   46.657004]  [<ffffffffa030fc6f>] e100_poll+0x56f/0x6c0 [e100]
      [   46.657004]  [<ffffffff8159dce1>] ? net_rx_action+0xa1/0x370
      [   46.657004]  [<ffffffff8159ddb2>] net_rx_action+0x172/0x370
      [   46.657004]  [<ffffffff810703bf>] __do_softirq+0xef/0x3d0
      [   46.657004]  [<ffffffff816e4ebc>] call_softirq+0x1c/0x30
      [   46.657004]  [<ffffffff8101c485>] do_softirq+0x85/0xc0
      [   46.657004]  [<ffffffff81070885>] irq_exit+0xd5/0xe0
      [   46.657004]  [<ffffffff816e5756>] do_IRQ+0x56/0xc0
      [   46.657004]  [<ffffffff816dacb2>] common_interrupt+0x72/0x72
      [   46.657004]  <EOI>  [<ffffffff816da1eb>] ?
      _raw_spin_unlock_irqrestore+0x3b/0x70
      [   46.657004]  [<ffffffff816d124d>] __slab_free+0x58/0x38b
      [   46.657004]  [<ffffffff81214424>] ? fsnotify_clear_marks_by_inode+0x34/0x120
      [   46.657004]  [<ffffffff811b0417>] ? kmem_cache_free+0x97/0x320
      [   46.657004]  [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
      [   46.657004]  [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
      [   46.657004]  [<ffffffff811b0692>] kmem_cache_free+0x312/0x320
      [   46.657004]  [<ffffffff8157fc14>] sock_destroy_inode+0x34/0x40
      [   46.657004]  [<ffffffff811e8c28>] destroy_inode+0x38/0x60
      [   46.657004]  [<ffffffff811e8d5e>] evict+0x10e/0x1a0
      [   46.657004]  [<ffffffff811e9605>] iput+0xf5/0x180
      [   46.657004]  [<ffffffff811e4338>] dput+0x248/0x310
      [   46.657004]  [<ffffffff811ce0e1>] __fput+0x171/0x240
      [   46.657004]  [<ffffffff811ce26e>] ____fput+0xe/0x10
      [   46.657004]  [<ffffffff8108d54c>] task_work_run+0xac/0xe0
      [   46.657004]  [<ffffffff8106c6ed>] do_exit+0x26d/0xc30
      [   46.657004]  [<ffffffff8109eccc>] ? finish_task_switch+0x7c/0x120
      [   46.657004]  [<ffffffff816dad58>] ? retint_swapgs+0x13/0x1b
      [   46.657004]  [<ffffffff8106d139>] do_group_exit+0x49/0xc0
      [   46.657004]  [<ffffffff8106d1c4>] sys_exit_group+0x14/0x20
      [   46.657004]  [<ffffffff816e3b19>] system_call_fastpath+0x16/0x1b
      [   46.657004] ---[ end trace 4468c44e2156e7d1 ]---
      [   46.657004] Mapped at:
      [   46.657004]  [<ffffffff813663d1>] debug_dma_map_page+0x91/0x140
      [   46.657004]  [<ffffffffa030e8eb>] e100_xmit_prepare+0x12b/0x1c0 [e100]
      [   46.657004]  [<ffffffffa030c924>] e100_exec_cb+0x84/0x140 [e100]
      [   46.657004]  [<ffffffffa030e56a>] e100_xmit_frame+0x3a/0x190 [e100]
      [   46.657004]  [<ffffffff8159ee89>] dev_hard_start_xmit+0x259/0x6c0
      
      Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
      dma_mapping_error check in the obvious place
      
      This was reported previously here:
      http://article.gmane.org/gmane.linux.network/257893
      
      But nobody stepped up and fixed it.
      
      CC: Josh Boyer <jwboyer@redhat.com>
      CC: e1000-devel@lists.sourceforge.net
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Reported-by: NMichal Jaegermann <michal@harddata.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      61a0f6ef
  13. 09 1月, 2013 1 次提交
  14. 08 12月, 2012 1 次提交
  15. 04 12月, 2012 1 次提交
    • B
      net/intel: remove __dev* attributes · 9f9a12f8
      Bill Pemberton 提交于
      CONFIG_HOTPLUG is going away as an option.  As result the __dev*
      markings will be going away.
      
      Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
      and __devexit.
      Signed-off-by: NBill Pemberton <wfp5p@virginia.edu>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Bruce Allan <bruce.w.allan@intel.com>
      Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
      Cc: Don Skidmore <donald.c.skidmore@intel.com>
      Cc: Greg Rose <gregory.v.rose@intel.com>
      Cc: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
      Cc: Alex Duyck <alexander.h.duyck@intel.com>
      Cc: John Ronciak <john.ronciak@intel.com>
      Cc: Tushar Dave <tushar.n.dave@intel.com>
      Cc: e1000-devel@lists.sourceforge.net
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9f9a12f8
  16. 08 9月, 2012 1 次提交
  17. 20 7月, 2012 1 次提交
    • B
      net: e100: ucode is optional in some cases · 8b0d2f9e
      Bjørn Mork 提交于
      commit 9ac32e1b firmware: convert e100 driver to request_firmware()
      
      did a straight conversion of the in-driver ucode to external
      files.  This introduced the possibility of the driver failing
      to enable an interface due to missing ucode. There was no
      evaluation of the importance of the ucode at the time.
      
      Based on comments in earlier versions of this driver, and in
      the source code for the FreeBSD fxp driver, we can assume that
      the ucode implements the "CPU Cycle Saver" feature on supported
      adapters.  Although generally wanted, this is an optional
      feature. The ucode source is not available, preventing it from
      being included in free distributions. This creates unnecessary
      problems for the end users. Doing a network install based on a
      free distribution installer requires the user to download and
      insert the ucode into the installer.
      
      Making the ucode optional when possible improves the user
      experience and driver usability.
      
      The ucode for some adapters include a bugfix, making it
      essential.  We continue to fail for these adapters unless the
      ucode is available.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8b0d2f9e
  18. 14 4月, 2012 2 次提交
  19. 03 3月, 2012 2 次提交
  20. 01 3月, 2012 3 次提交
  21. 01 2月, 2012 1 次提交
  22. 23 11月, 2011 1 次提交
  23. 14 11月, 2011 1 次提交
  24. 03 11月, 2011 1 次提交
  25. 08 10月, 2011 1 次提交
  26. 18 8月, 2011 1 次提交
  27. 11 8月, 2011 1 次提交
  28. 07 6月, 2011 1 次提交
  29. 07 5月, 2011 1 次提交
  30. 05 5月, 2011 1 次提交
  31. 30 4月, 2011 2 次提交
    • D
      ethtool: Use full 32 bit speed range in ethtool's set_settings · 25db0338
      David Decotigny 提交于
      This makes sure the ethtool's set_settings() callback of network
      drivers don't ignore the 16 most significant bits when ethtool calls
      their set_settings().
      
      All drivers compiled with make allyesconfig on x86_64 have been
      updated.
      Signed-off-by: NDavid Decotigny <decot@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25db0338
    • D
      ethtool: Call ethtool's get/set_settings callbacks with cleaned data · 8ae6daca
      David Decotigny 提交于
      This makes sure that when a driver calls the ethtool's
      get/set_settings() callback of another driver, the data passed to it
      is clean. This guarantees that speed_hi will be zeroed correctly if
      the called callback doesn't explicitely set it: we are sure we don't
      get a corrupted speed from the underlying driver. We also take care of
      setting the cmd field appropriately (ETHTOOL_GSET/SSET).
      
      This applies to dev_ethtool_get_settings(), which now makes sure it
      sets up that ethtool command parameter correctly before passing it to
      drivers. This also means that whoever calls dev_ethtool_get_settings()
      does not have to clean the ethtool command parameter. This function
      also becomes an exported symbol instead of an inline.
      
      All drivers visible to make allyesconfig under x86_64 have been
      updated.
      Signed-off-by: NDavid Decotigny <decot@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ae6daca
  32. 27 9月, 2010 1 次提交
  33. 09 8月, 2010 1 次提交
    • J
      e100/e1000*/igb*/ixgb*: Add missing read memory barrier · 2d0bb1c1
      Jeff Kirsher 提交于
      Based on patches from Sonny Rao and Milton Miller...
      
      Combined the patches to fix up clean_tx_irq and clean_rx_irq.
      
      The PowerPC architecture does not require loads to independent bytes
      to be ordered without adding an explicit barrier.
      
      In ixgbe_clean_rx_irq we load the status bit then load the packet data.
      With packet split disabled if these loads go out of order we get a
      stale packet, but we will notice the bad sequence numbers and drop it.
      
      The problem occurs with packet split enabled where the TCP/IP header
      and data are in different descriptors. If the reads go out of order
      we may have data that doesn't match the TCP/IP header. Since we use
      hardware checksumming this bad data is never verified and it makes it
      all the way to the application.
      
      This bug was found during stress testing and adding this barrier has
      been shown to fix it.  The bug can manifest as a data integrity issue
      (bad payload data) or as a BUG in skb_pull().
      
      This was a nasty bug to hunt down, if people agree with the fix I think
      it's a candidate for stable.
      
      Previously Submitted to e1000-devel only for ixgbe
      
      http://marc.info/?l=e1000-devel&m=126593062701537&w=3
      
      We've now seen this problem hit with other device drivers (e1000e mostly)
      So I'm resubmitting with fixes for other Intel Device Drivers with
      similar issues.
      
      CC: Milton Miller <miltonm@bga.com>
      CC: Anton Blanchard <anton@samba.org>
      CC: Sonny Rao <sonnyrao@us.ibm.com>
      CC: stable <stable@kernel.org>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d0bb1c1
  34. 10 5月, 2010 1 次提交
  35. 25 4月, 2010 1 次提交