<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/e1000e/netdev.c, branch v3.0.91</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.0.91</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.0.91'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-03-14T18:32:05+00:00</updated>
<entry>
<title>e1000e: fix pci-device enable-counter balance</title>
<updated>2013-03-14T18:32:05+00:00</updated>
<author>
<name>Konstantin Khlebnikov</name>
<email>khlebnikov@openvz.org</email>
</author>
<published>2013-03-05T09:42:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce38f02134fc8d9a43cf459a35581e046898c22b'/>
<id>urn:sha1:ce38f02134fc8d9a43cf459a35581e046898c22b</id>
<content type='text'>
commit 4e0855dff094b0d56d6b5b271e0ce7851cc1e063 upstream.

This patch removes redundant and unbalanced pci_disable_device() from
__e1000_shutdown(). pci_clear_master() is enough, device can go into
suspended state with elevated enable_cnt.

Bug was introduced in commit 23606cf5d1192c2b17912cb2ef6e62f9b11de133
("e1000e / PCI / PM: Add basic runtime PM support (rev. 4)") in v2.6.35

Signed-off-by: Konstantin Khlebnikov &lt;khlebnikov@openvz.org&gt;
Cc: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Tested-by: Borislav Petkov &lt;bp@suse.de&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>e1000e: Avoid wrong check on TX hang</title>
<updated>2012-04-02T16:27:18+00:00</updated>
<author>
<name>Jeff Kirsher</name>
<email>jeffrey.t.kirsher@intel.com</email>
</author>
<published>2011-11-18T14:25:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5f8d170995eb8612b95fa73c63352a9b9be1ed5a'/>
<id>urn:sha1:5f8d170995eb8612b95fa73c63352a9b9be1ed5a</id>
<content type='text'>
commit 09357b00255c233705b1cf6d76a8d147340545b8 upstream.

Based on the original patch submitted my Michael Wang
&lt;wangyun@linux.vnet.ibm.com&gt;.
Descriptors may not be write-back while checking TX hang with flag
FLAG2_DMA_BURST on.
So when we detect hang, we just flush the descriptor and detect
again for once.

-v2 change 1 to true and 0 to false and remove extra ()

CC: Michael Wang &lt;wangyun@linux.vnet.ibm.com&gt;
CC: Flavio Leitner &lt;fbl@redhat.com&gt;
Acked-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6</title>
<updated>2011-05-23T22:39:34+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-23T22:39:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5e152b4c9e0fce6149c74406346a7ae7e7a17727'/>
<id>urn:sha1:5e152b4c9e0fce6149c74406346a7ae7e7a17727</id>
<content type='text'>
* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (27 commits)
  PCI: Don't use dmi_name_in_vendors in quirk
  PCI: remove unused AER functions
  PCI/sysfs: move bus cpuaffinity to class dev_attrs
  PCI: add rescan to /sys/.../pci_bus/.../
  PCI: update bridge resources to get more big ranges when allocating space (again)
  KVM: Use pci_store/load_saved_state() around VM device usage
  PCI: Add interfaces to store and load the device saved state
  PCI: Track the size of each saved capability data area
  PCI/e1000e: Add and use pci_disable_link_state_locked()
  x86/PCI: derive pcibios_last_bus from ACPI MCFG
  PCI: add latency tolerance reporting enable/disable support
  PCI: add OBFF enable/disable support
  PCI: add ID-based ordering enable/disable support
  PCI hotplug: acpiphp: assume device is in state D0 after powering on a slot.
  PCI: Set PCIE maxpayload for card during hotplug insertion
  PCI/ACPI: Report _OSC control mask returned on failure to get control
  x86/PCI: irq and pci_ids patch for Intel Panther Point DeviceIDs
  PCI: handle positive error codes
  PCI: check pci_vpd_pci22_wait() return
  PCI: Use ICH6_GPIO_EN in ich6_lpc_acpi_gpio
  ...

Fix up trivial conflicts in include/linux/pci_ids.h: commit a6e5e2be4461
moved the intel SMBUS ID definitons to the i2c-i801.c driver.
</content>
</entry>
<entry>
<title>Add appropriate &lt;linux/prefetch.h&gt; include for prefetch users</title>
<updated>2011-05-23T04:41:57+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-05-22T20:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=70c71606190e9115e5f8363bfcd164c582eb314a'/>
<id>urn:sha1:70c71606190e9115e5f8363bfcd164c582eb314a</id>
<content type='text'>
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 '&lt;linux/prefetch.h&gt;' $i
 	if [ $? = 0 ] ; then
 		continue
 	fi

 	(	echo '?^#include &lt;linux/?a'
 		echo '#include &lt;linux/prefetch.h&gt;'
 		echo .
 		echo w
 		echo q
 	) | ed -s $i &gt; /dev/null 2&gt;&amp;1
 	if [ $? != 0 ]; then
 		echo $i needs manual fixup
 		MANUAL="$i $MANUAL"
 	fi
 done
 echo ------------------- 8\&lt;----------------------
 echo vi $MANUAL
 =========================================

Signed-off-by: Paul &lt;paul.gortmaker@windriver.com&gt;
[ Fixed up some incorrect #include placements, and added some
  non-network drivers and the fib_trie.c case    - Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>PCI/e1000e: Add and use pci_disable_link_state_locked()</title>
<updated>2011-05-21T19:16:44+00:00</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2011-05-13T00:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9f728f53dd70396f3183d2f0861022259471824b'/>
<id>urn:sha1:9f728f53dd70396f3183d2f0861022259471824b</id>
<content type='text'>
Need to use it in _e1000e_disable_aspm.  This routine is used for error
recovery, where the pci_bus_sem is already held, and we don't want
pci_disable_link_state to try to take it again.  So add a locked variant
for use in cases like this.

Found lock up:

[ 2374.654557] kworker/32:1    D ffff881027f6b0f0     0  6075      2 0x00000000
[ 2374.654816]  ffff88503f099a68 0000000000000046 ffff88503f098000 0000000000004000
[ 2374.654837]  00000000001d1ec0 ffff88503f099fd8 00000000001d1ec0 ffff88503f099fd8
[ 2374.654860]  0000000000004000 00000000001d1ec0 ffff88503dcc8000 ffff88503f090000
[ 2374.654880] Call Trace:
[ 2374.654898]  [&lt;ffffffff810b1302&gt;] ? __lock_acquired+0x3a/0x224
[ 2374.654914]  [&lt;ffffffff81c2b59c&gt;] ? _raw_spin_unlock_irq+0x30/0x36
[ 2374.654925]  [&lt;ffffffff810b069d&gt;] ? trace_hardirqs_on_caller+0x1f/0x178
[ 2374.654936]  [&lt;ffffffff81c2ab24&gt;] rwsem_down_failed_common+0xd3/0x103
[ 2374.654945]  [&lt;ffffffff810b158f&gt;] ? __lock_contended+0x3a/0x2a2
[ 2374.654955]  [&lt;ffffffff81c2ab7b&gt;] rwsem_down_read_failed+0x12/0x14
[ 2374.654967]  [&lt;ffffffff813371e4&gt;] call_rwsem_down_read_failed+0x14/0x30
[ 2374.654981]  [&lt;ffffffff8135df20&gt;] ? pci_disable_link_state+0x5f/0xf5
[ 2374.654990]  [&lt;ffffffff81c2a0e6&gt;] ? down_read+0x7e/0x91
[ 2374.654999]  [&lt;ffffffff8135df20&gt;] ? pci_disable_link_state+0x5f/0xf5
[ 2374.655008]  [&lt;ffffffff8135df20&gt;] pci_disable_link_state+0x5f/0xf5
[ 2374.655024]  [&lt;ffffffff81661796&gt;] e1000e_disable_aspm+0x55/0x5a
[ 2374.655037]  [&lt;ffffffff816677eb&gt;] e1000_io_slot_reset+0x59/0xea
[ 2374.655048]  [&lt;ffffffff8135fe0d&gt;] ? report_mmio_enabled+0x5d/0x5d
[ 2374.655057]  [&lt;ffffffff8135fe3b&gt;] report_slot_reset+0x2e/0x5d
[ 2374.655072]  [&lt;ffffffff8135369e&gt;] pci_walk_bus+0x8a/0xb7
[ 2374.655081]  [&lt;ffffffff8135fe0d&gt;] ? report_mmio_enabled+0x5d/0x5d
[ 2374.655091]  [&lt;ffffffff813603be&gt;] broadcast_error_message+0xa4/0xb2
[ 2374.655101]  [&lt;ffffffff81352c71&gt;] ? pci_bus_read_config_dword+0x72/0x80
[ 2374.655110]  [&lt;ffffffff813606df&gt;] do_recovery+0x9e/0xf9
[ 2374.655120]  [&lt;ffffffff81360786&gt;] handle_error_source+0x4c/0x51
[ 2374.655129]  [&lt;ffffffff81360974&gt;] aer_isr_one_error+0x1e9/0x21a
[ 2374.655138]  [&lt;ffffffff81360a6c&gt;] aer_isr+0xc7/0xcc
[ 2374.655147]  [&lt;ffffffff813609a5&gt;] ? aer_isr_one_error+0x21a/0x21a
[ 2374.655159]  [&lt;ffffffff81096d9f&gt;] process_one_work+0x237/0x3ec
[ 2374.655168]  [&lt;ffffffff81096d10&gt;] ? process_one_work+0x1a8/0x3ec
[ 2374.655178]  [&lt;ffffffff8109728d&gt;] worker_thread+0x17c/0x240
[ 2374.655186]  [&lt;ffffffff810b0803&gt;] ? trace_hardirqs_on+0xd/0xf
[ 2374.655196]  [&lt;ffffffff81097111&gt;] ? manage_workers+0xab/0xab
[ 2374.655209]  [&lt;ffffffff8109c8ed&gt;] kthread+0xa0/0xa8
[ 2374.655223]  [&lt;ffffffff81c332d4&gt;] kernel_thread_helper+0x4/0x10
[ 2374.655232]  [&lt;ffffffff81c2b880&gt;] ? retint_restore_args+0xe/0xe
[ 2374.655243]  [&lt;ffffffff8109c84d&gt;] ? __init_kthread_worker+0x5b/0x5b
[ 2374.655252]  [&lt;ffffffff81c332d0&gt;] ? gs_change+0xb/0xb

when aer happens,
pci_walk_bus already have down_read(&amp;pci_bus_sem)...
then report_slot_reset
        ==&gt; e1000_io_slot_reset
                ==&gt; e1000e_disable_aspm
                        ==&gt; pci_disable_link_state...

We can not use pci_disable_link_state, and it will try to hold pci_bus_sem again.

Try to have __pci_disable_link_state that will not need to hold pci_bus_sem.

-v2: change name to pci_disable_link_state_locked() according to Jesse.

[jbarnes: make sure new function is exported for modules]

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>e1000e: implement ethtool set_phys_id</title>
<updated>2011-04-27T09:05:53+00:00</updated>
<author>
<name>Bruce Allan</name>
<email>bruce.w.allan@intel.com</email>
</author>
<published>2011-04-16T00:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dbf80dcbd8ca0c50f343401fedd2d6200cb8097e'/>
<id>urn:sha1:dbf80dcbd8ca0c50f343401fedd2d6200cb8097e</id>
<content type='text'>
Based on a patch from Stephen Hemminger &lt;shemminger@vyatta.com&gt;.

The new ethtool set_phys_id takes over controlling the LED for
identifying boards.  This fixes the lockout during that period.
For this device lots of extra infrastructure can also be removed by
using set_phys_id.

v2: - return blink frequency for parts that do not support blink in h/w
    - add blink_led function pointers for devices that do support blink
      in h/w to cleanup the test for this functionality

Signed-off-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Cc: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>e1000e: If ASPM L0s needs to be disabled, do it prior to enabling device</title>
<updated>2011-04-14T02:19:22+00:00</updated>
<author>
<name>Bruce Allan</name>
<email>bruce.w.allan@intel.com</email>
</author>
<published>2011-03-24T03:09:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=78cd29d5a92ae5067377ad42089f2c8781312f4a'/>
<id>urn:sha1:78cd29d5a92ae5067377ad42089f2c8781312f4a</id>
<content type='text'>
Based on a patch from Naga Chumbalkar &lt;nagananda.chumbalkar@hp.com&gt;:

If ASPM L0s needs to be disabled due to HW errata, do it prior to
"enabling" the device. This way if the kernel ever defaults its
aspm_policy to POLICY_POWERSAVE, then the e1000e driver will get a
chance to disable ASPM on the misbehaving device *prior* to calling
pci_enable_device_mem(). This will be useful in situations
where the BIOS indicates ASPM support on the server by clearing the
ACPI FADT "ASPM Controls" bit.

Note:
The kernel (2.6.38) currently uses the BIOS "default" as its aspm_policy.
However, Linux distros can diverge from that and set the default to
"powersave".

v2: o cleanup namespace pollution of e1000e_disable_aspm(),
    o fix type and initialization of the new aspm_disable_flag in a few
      functions, and
    o redefine FLAG2_DISABLE_ASPM_L0S to the first unused bit in
      adapter-&gt;flags2.

Signed-off-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Cc: Naga Chumbalkar &lt;nagananda.chumbalkar@hp.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>e1000e: fix stats locking in e1000_watchdog_task</title>
<updated>2011-04-14T02:18:57+00:00</updated>
<author>
<name>Flavio Leitner</name>
<email>fleitner@redhat.com</email>
</author>
<published>2011-04-05T04:27:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2084b114e3fb0d84e5882f5ee6c7039be52da715'/>
<id>urn:sha1:2084b114e3fb0d84e5882f5ee6c7039be52da715</id>
<content type='text'>
Just move the unlock down a bit because it unlocks too
early leaving a chance for get_stats64() run in parallel
while it is still accessing the stats.

Signed-off-by: Flavio Leitner &lt;fleitner@redhat.com&gt;
Acked-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>e1000e: convert to new VLAN model</title>
<updated>2011-04-14T02:17:50+00:00</updated>
<author>
<name>Jeff Kirsher</name>
<email>jeffrey.t.kirsher@intel.com</email>
</author>
<published>2011-03-25T16:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=86d70e532c352bd309dab5f1d18d113f441cb3ae'/>
<id>urn:sha1:86d70e532c352bd309dab5f1d18d113f441cb3ae</id>
<content type='text'>
This switches the e1000e driver to use the new VLAN interfaces.

CC: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Tested-by: Jeff Pieper &lt;jeffrey.e.pieper@intel.com&gt;
</content>
</entry>
<entry>
<title>e1000e: PCIe link speed in GT/s, not GB/s</title>
<updated>2011-04-14T02:17:27+00:00</updated>
<author>
<name>Bruce Allan</name>
<email>bruce.w.allan@intel.com</email>
</author>
<published>2011-03-19T00:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a5cc764206a3d01dce8ebc17b4e1534afb53c495'/>
<id>urn:sha1:a5cc764206a3d01dce8ebc17b4e1534afb53c495</id>
<content type='text'>
Correct the log message when driver loads.

Signed-off-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
</feed>
