<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/e1000e, 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: Disable ASPM L1 on 82574</title>
<updated>2012-10-02T16:47:54+00:00</updated>
<author>
<name>Chris Boot</name>
<email>bootc@bootc.net</email>
</author>
<published>2012-04-24T07:24:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=41cc15ce40dbe5cbc938f9e4acdf0fb0156fd374'/>
<id>urn:sha1:41cc15ce40dbe5cbc938f9e4acdf0fb0156fd374</id>
<content type='text'>
commit d4a4206ebbaf48b55803a7eb34e330530d83a889 upstream.

ASPM on the 82574 causes trouble. Currently the driver disables L0s for
this NIC but only disables L1 if the MTU is &gt;1500. This patch simply
causes L1 to be disabled regardless of the MTU setting.

Signed-off-by: Chris Boot &lt;bootc@bootc.net&gt;
Cc: "Wyborny, Carolyn" &lt;carolyn.wyborny@intel.com&gt;
Cc: Nix &lt;nix@esperi.org.uk&gt;
Link: https://lkml.org/lkml/2012/3/19/362
Tested-by: Jeff Pieper &lt;jeffrey.e.pieper@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Nikola Ciprich &lt;nikola.ciprich@linuxbox.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>e1000e: NIC goes up and immediately goes down</title>
<updated>2012-08-15T19:04:30+00:00</updated>
<author>
<name>Tushar Dave</name>
<email>tushar.n.dave@intel.com</email>
</author>
<published>2012-07-31T02:02:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5a4cebe94b76a0182a8ebb97b665ff84e7427482'/>
<id>urn:sha1:5a4cebe94b76a0182a8ebb97b665ff84e7427482</id>
<content type='text'>
commit b7ec70be01a87f2c85df3ae11046e74f9b67e323 upstream.

Found that commit d478eb44 was a bad commit.
If the link partner is transmitting codeword (even if NULL codeword),
then the RXCW.C bit will be set so check for RXCW.CW is unnecessary.
Ref: RH BZ 840642

Reported-by: Fabio Futigami &lt;ffutigam@redhat.com&gt;
Signed-off-by: Tushar Dave &lt;tushar.n.dave@intel.com&gt;
CC: Marcelo Ricardo Leitner &lt;mleitner@redhat.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Peter P Waskiewicz Jr &lt;peter.p.waskiewicz.jr@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>e1000e: Correct link check logic for 82571 serdes</title>
<updated>2012-07-19T15:58:21+00:00</updated>
<author>
<name>Tushar Dave</name>
<email>tushar.n.dave@intel.com</email>
</author>
<published>2012-07-12T08:56:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c90dab38fe75c7a131a3db8d35aedaf155aede04'/>
<id>urn:sha1:c90dab38fe75c7a131a3db8d35aedaf155aede04</id>
<content type='text'>
commit d0efa8f23a644f7cb7d1f8e78dd9a223efa412a3 upstream.

SYNCH bit and IV bit of RXCW register are sticky. Before examining these bits,
RXCW should be read twice to filter out one-time false events and have correct
values for these bits. Incorrect values of these bits in link check logic can
cause weird link stability issues if auto-negotiation fails.

Reported-by: Dean Nelson &lt;dnelson@redhat.com&gt;
Signed-off-by: Tushar Dave &lt;tushar.n.dave@intel.com&gt;
Reviewed-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Tested-by: Jeff Pieper &lt;jeffrey.e.pieper@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>e1000e: workaround for packet drop on 82579 at 100Mbps</title>
<updated>2011-10-16T21:14:55+00:00</updated>
<author>
<name>Bruce Allan</name>
<email>bruce.w.allan@intel.com</email>
</author>
<published>2011-07-29T05:52:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9202d31661276bee9dd3e69e5a761c5062a9fc50'/>
<id>urn:sha1:9202d31661276bee9dd3e69e5a761c5062a9fc50</id>
<content type='text'>
commit 0ed013e28fe853244f4972cf18d8e2bd62eeb8fc upstream.

The MAC can drop short packets when the PHY detects noise on the line at
100Mbps due to a timing issue.  Workaround the issue by increasing the PLL
counter so the PHY properly recognizes the synchronization pattern from the
MAC.

Signed-off-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Tested-by: Jeff Pieper &lt;jeffrey.e.pieper@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Cc: Leann Ogasawara &lt;leann.ogasawara@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>e1000e: alternate MAC address does not work on device id 0x1060</title>
<updated>2011-08-16T01:31:42+00:00</updated>
<author>
<name>Bruce Allan</name>
<email>bruce.w.allan@intel.com</email>
</author>
<published>2011-07-22T06:21:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=716ae31687f2d778ff9a18e7286deca992dfa955'/>
<id>urn:sha1:716ae31687f2d778ff9a18e7286deca992dfa955</id>
<content type='text'>
commit c407bee8a56d874b91f3e4ee790660959ff1a25e upstream.

This issue is present all the way back to 2.6.34 kernels.

Signed-off-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Tested-by: Jeffrey Pieper &lt;jeffrey.e.pieper@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&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>
</feed>
