1. 18 10月, 2016 1 次提交
    • J
      ethernet/intel: use core min/max MTU checking · 91c527a5
      Jarod Wilson 提交于
      e100: min_mtu 68, max_mtu 1500
      - remove e100_change_mtu entirely, is identical to old eth_change_mtu,
        and no longer serves a purpose. No need to set min_mtu or max_mtu
        explicitly, as ether_setup() will already set them to 68 and 1500.
      
      e1000: min_mtu 46, max_mtu 16110
      
      e1000e: min_mtu 68, max_mtu varies based on adapter
      
      fm10k: min_mtu 68, max_mtu 15342
      - remove fm10k_change_mtu entirely, does nothing now
      
      i40e: min_mtu 68, max_mtu 9706
      
      i40evf: min_mtu 68, max_mtu 9706
      
      igb: min_mtu 68, max_mtu 9216
      - There are two different "max" frame sizes claimed and both checked in
        the driver, the larger value wasn't relevant though, so I've set max_mtu
        to the smaller of the two values here to retain identical behavior.
      
      igbvf: min_mtu 68, max_mtu 9216
      - Same issue as igb duplicated
      
      ixgb: min_mtu 68, max_mtu 16114
      - Also remove pointless old == new check, as that's done in dev_set_mtu
      
      ixgbe: min_mtu 68, max_mtu 9710
      
      ixgbevf: min_mtu 68, max_mtu dependent on hardware/firmware
      - Some hw can only handle up to max_mtu 1504 on a vf, others 9710
      
      CC: netdev@vger.kernel.org
      CC: intel-wired-lan@lists.osuosl.org
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      91c527a5
  2. 19 8月, 2015 2 次提交
  3. 01 6月, 2015 1 次提交
  4. 04 5月, 2015 1 次提交
  5. 10 4月, 2015 1 次提交
  6. 09 3月, 2015 1 次提交
  7. 01 1月, 2015 1 次提交
  8. 13 8月, 2014 1 次提交
  9. 14 5月, 2014 1 次提交
  10. 20 3月, 2014 1 次提交
  11. 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
  12. 22 10月, 2013 1 次提交
  13. 28 7月, 2013 1 次提交
  14. 29 6月, 2013 1 次提交
  15. 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
  16. 09 1月, 2013 1 次提交
  17. 08 12月, 2012 1 次提交
  18. 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
  19. 08 9月, 2012 1 次提交
  20. 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
  21. 14 4月, 2012 2 次提交
  22. 03 3月, 2012 2 次提交
  23. 01 3月, 2012 3 次提交
  24. 01 2月, 2012 1 次提交
  25. 23 11月, 2011 1 次提交
  26. 14 11月, 2011 1 次提交
  27. 03 11月, 2011 1 次提交
  28. 08 10月, 2011 1 次提交
  29. 18 8月, 2011 1 次提交
  30. 11 8月, 2011 1 次提交
  31. 07 6月, 2011 1 次提交
  32. 07 5月, 2011 1 次提交
  33. 05 5月, 2011 1 次提交
  34. 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