<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/e1000e, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-07-02T23:49:38Z</updated>
<entry>
<title>e1000e: stop unnecessary polling when using msi-x</title>
<updated>2009-07-02T23:49:38Z</updated>
<author>
<name>Andy Gospodarek</name>
</author>
<published>2009-06-18T11:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=587bea21b5959aa6a4771ec29b70b2e3cc72189d'/>
<id>urn:sha1:587bea21b5959aa6a4771ec29b70b2e3cc72189d</id>
<content type='text'>
[ Upstream commit 679e8a0f0ae3333e94b1d374d07775fce9066025 ]

The last hunk of this commit:

    commit 12d04a3c12b420f23398b4d650127642469a60a6
    Author: Alexander Duyck &lt;alexander.h.duyck@intel.com&gt;
    Date:   Wed Mar 25 22:05:03 2009 +0000

        e1000e: commonize tx cleanup routine to match e1000 &amp; igb

changed the logic for determining if we should call napi_complete or
not at then end of a napi poll.

If the NIC is using MSI-X with no work to do in -&gt;poll, net_rx_action
can just spin indefinitely on older kernels and for 2 jiffies on newer
kernels since napi_complete is never called and budget isn't
decremented.

Discovered and verified while testing driver backport to an older
kernel.

Signed-off-by: Andy Gospodarek &lt;andy@greyhouse.net&gt;
Acked-by: Alexander Duyck &lt;alexander.h.duyck@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>e1000e: fix bug in restart queue logic</title>
<updated>2009-04-17T08:09:58Z</updated>
<author>
<name>Jesse Brandeburg</name>
</author>
<published>2009-04-16T16:59:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a86043c2ad92aa6312807039198d6ab6171164ef'/>
<id>urn:sha1:a86043c2ad92aa6312807039198d6ab6171164ef</id>
<content type='text'>
If the e1000e transmit cleanup inner loop exited early, then
cleaned might not be true.  This could cause tx hangs or other
badness.  Use count to track the total number of descriptors
cleaned instead of basing a tx queue restart off of a temporary
working state variable.

This code now makes the flow the same for e1000/e1000e/igb/ixgbe

Signed-off-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>NET/e1000e: Fix powering off during shutdown</title>
<updated>2009-04-16T09:15:22Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2009-04-15T17:43:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f9de721ab73a5271a79b126f7b5140b01a05c99'/>
<id>urn:sha1:4f9de721ab73a5271a79b126f7b5140b01a05c99</id>
<content type='text'>
Prevent e1000e from putting the adapter into D3 during shutdown except when
we're going to power off the system, since doing that may generally cause
problems with kexec to happen (such problems were observed for igb and
forcedeth).  For this purpose seperate e1000e_shutdown() from e1000e_suspend()
and use the appropriate PCI PM callbacks in both of them.

Signed-off-by: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>e1000/e1000: fix compile warning</title>
<updated>2009-04-14T23:38:49Z</updated>
<author>
<name>Jesse Brandeburg</name>
</author>
<published>2009-04-14T23:38:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df26fd2c594a0876b4e6b802dee7753024e484d9'/>
<id>urn:sha1:df26fd2c594a0876b4e6b802dee7753024e484d9</id>
<content type='text'>
e1000/e1000e compile report a possible unused variable, fix
that for now.  Shortly after this a small refactor and bug
fix will follow in the same code.

Signed-off-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)</title>
<updated>2009-04-07T15:31:11Z</updated>
<author>
<name>Yang Hongyang</name>
</author>
<published>2009-04-07T02:01:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=284901a90a9e0b812ca3f5f852cbbfb60d10249d'/>
<id>urn:sha1:284901a90a9e0b812ca3f5f852cbbfb60d10249d</id>
<content type='text'>
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

Signed-off-by: Yang Hongyang&lt;yanghy@cn.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)</title>
<updated>2009-04-07T15:31:10Z</updated>
<author>
<name>Yang Hongyang</name>
</author>
<published>2009-04-07T02:01:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6a35528a8346f6e6fd32ed7e51f04d1fa4ca2c01'/>
<id>urn:sha1:6a35528a8346f6e6fd32ed7e51f04d1fa4ca2c01</id>
<content type='text'>
Replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)

Signed-off-by: Yang Hongyang&lt;yanghy@cn.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>e1000e: update version number</title>
<updated>2009-03-26T08:10:00Z</updated>
<author>
<name>Jesse Brandeburg</name>
</author>
<published>2009-03-25T22:06:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73afa537926d76dbd550614c3b75e375f1e39f83'/>
<id>urn:sha1:73afa537926d76dbd550614c3b75e375f1e39f83</id>
<content type='text'>
Signed-off-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>e1000e: fix close interrupt race</title>
<updated>2009-03-26T08:09:59Z</updated>
<author>
<name>Jesse Brandeburg</name>
</author>
<published>2009-03-25T22:05:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3c69fef7a7775b0bcfbb8249845a25598cfe951'/>
<id>urn:sha1:a3c69fef7a7775b0bcfbb8249845a25598cfe951</id>
<content type='text'>
As noticed by Alan Cox, it is possible for e1000e to exit its interrupt
handler or NAPI with interrupts enabled even when the driver is unloading or
being configured administratively down.

fix related to fix for: http://bugzilla.kernel.org/show_bug.cgi?id=12876

Signed-off-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
CC: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>e1000e: fix loss of multicast packets</title>
<updated>2009-03-26T08:09:59Z</updated>
<author>
<name>Jesse Brandeburg</name>
</author>
<published>2009-03-25T22:05:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a72d2b2cc63994cb8d592a004bf5331be6905814'/>
<id>urn:sha1:a72d2b2cc63994cb8d592a004bf5331be6905814</id>
<content type='text'>
e1000e (and e1000, igb, ixgbe, ixgb) all do a series of operations each
time a multicast address is added.  The flow goes something like

1) stack adds one multicast address
2) stack passes whole current list of unicast and multicast addresses to
   driver
3) driver clears entire list in hardware
4) driver programs each multicast address using iomem in a loop

This was causing multicast packets to be lost during the reprogramming
process.

reference with test program:
http://kerneltrap.org/mailarchive/linux-netdev/2009/3/14/5160514/thread

Thanks to Dave Boutcher for his report and test program.

This driver fix prepares an array all at once in memory and programs it in
one shot to the hardware, not requiring an "erase" cycle.  It would still
be possible for packets to be dropped while the receiver is off during
reprogramming.

Signed-off-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
CC: Dave Boutcher &lt;daveboutcher@gmail.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>e1000e: commonize tx cleanup routine to match e1000 &amp; igb</title>
<updated>2009-03-26T08:09:58Z</updated>
<author>
<name>Alexander Duyck</name>
</author>
<published>2009-03-25T22:05:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12d04a3c12b420f23398b4d650127642469a60a6'/>
<id>urn:sha1:12d04a3c12b420f23398b4d650127642469a60a6</id>
<content type='text'>
This change updates the e1000e tx cleanup routine to more closely match
what already exists in igb and e1000.

Signed-off-by: Alexander Duyck &lt;alexander.h.duyck@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
