<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/e1000, branch v2.6.23</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>e1000: Add device IDs of blade version of the 82571 quad port</title>
<updated>2007-09-28T03:38:35+00:00</updated>
<author>
<name>Auke Kok</name>
<email>auke-jan.h.kok@intel.com</email>
</author>
<published>2007-08-30T18:23:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f4ec7f98714c2c0b7afa422c0cba6fb5c875c2c2'/>
<id>f4ec7f98714c2c0b7afa422c0cba6fb5c875c2c2</id>
<content type='text'>
This blade-specific board form factor is identical to the 82571EB
board.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This blade-specific board form factor is identical to the 82571EB
board.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: Add device IDs of new 82571 board variants</title>
<updated>2007-08-14T05:54:47+00:00</updated>
<author>
<name>Auke Kok</name>
<email>auke-jan.h.kok@intel.com</email>
</author>
<published>2007-08-09T21:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ce57a02c64052c3f1c62f30a902a937e6c316d88'/>
<id>ce57a02c64052c3f1c62f30a902a937e6c316d88</id>
<content type='text'>
This patch adds support for 2 new board variants:
- A Quad port fiber 82571 board
- A blade version of the 82571 quad copper board

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support for 2 new board variants:
- A Quad port fiber 82571 board
- A blade version of the 82571 quad copper board

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET]: ethtool_perm_addr only has one implementation</title>
<updated>2007-07-31T21:00:29+00:00</updated>
<author>
<name>Matthew Wilcox</name>
<email>matthew@wil.cx</email>
</author>
<published>2007-07-31T21:00:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=313674afa8fdced2fe79f50f38e1c387b63d8790'/>
<id>313674afa8fdced2fe79f50f38e1c387b63d8790</id>
<content type='text'>
All drivers implement ethtool get_perm_addr the same way -- by calling
the generic function.  So we can inline the generic function into the
caller and avoid going through the drivers.

Signed-off-by: Matthew Wilcox &lt;matthew@wil.cx&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All drivers implement ethtool get_perm_addr the same way -- by calling
the generic function.  So we can inline the generic function into the
caller and avoid going through the drivers.

Signed-off-by: Matthew Wilcox &lt;matthew@wil.cx&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>PCI: Change all drivers to use pci_device-&gt;revision</title>
<updated>2007-07-11T23:02:10+00:00</updated>
<author>
<name>Auke Kok</name>
<email>auke-jan.h.kok@intel.com</email>
</author>
<published>2007-06-08T22:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=44c10138fd4bbc4b6d6bff0873c24902f2a9da65'/>
<id>44c10138fd4bbc4b6d6bff0873c24902f2a9da65</id>
<content type='text'>
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device-&gt;revision member.

This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.

In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.

Compile tested with make all{yes,mod}config on x86_64 and i386.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Acked-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device-&gt;revision member.

This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.

In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.

Compile tested with make all{yes,mod}config on x86_64 and i386.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Acked-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: disable polling before registering netdevice</title>
<updated>2007-06-03T15:44:20+00:00</updated>
<author>
<name>Auke Kok</name>
<email>auke-jan.h.kok@intel.com</email>
</author>
<published>2007-06-01T17:22:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=416b5d10afdc797c21c457ade3714e8f2f75edd9'/>
<id>416b5d10afdc797c21c457ade3714e8f2f75edd9</id>
<content type='text'>
To assure the symmetry of poll enable/disable in up/down, we should
initialize the netdevice to be poll_disabled at load time. Doing
this after register_netdevice leaves us open to another race, so
lets move all the netif_* calls above register_netdevice so the
stack starts out how we expect it to be.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: Doug Chapman &lt;doug.chapman@hp.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To assure the symmetry of poll enable/disable in up/down, we should
initialize the netdevice to be poll_disabled at load time. Doing
this after register_netdevice leaves us open to another race, so
lets move all the netif_* calls above register_netdevice so the
stack starts out how we expect it to be.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: Doug Chapman &lt;doug.chapman@hp.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: restore netif_poll_enable call but make sure IRQs are off</title>
<updated>2007-05-30T13:52:48+00:00</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2007-05-29T22:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=47313054352b879a2bc65379d55b05f48a0af7ec'/>
<id>47313054352b879a2bc65379d55b05f48a0af7ec</id>
<content type='text'>
This restores the previously removed netif_poll_enable call in e1000_open.
It's needed on all but the first call to e1000_open for a NIC as
e1000_close always calls netif_poll_disable.

netif_poll_enable can only be called safely if no polls have been
scheduled.  This should be the case as long as we don't enter our IRQ
handler.

In order to guarantee this we explicitly disable IRQs as early as possible
when we're probing the NIC.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: "Kok, Auke" &lt;auke-jan.h.kok@intel.com&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This restores the previously removed netif_poll_enable call in e1000_open.
It's needed on all but the first call to e1000_open for a NIC as
e1000_close always calls netif_poll_disable.

netif_poll_enable can only be called safely if no polls have been
scheduled.  This should be the case as long as we don't enter our IRQ
handler.

In order to guarantee this we explicitly disable IRQs as early as possible
when we're probing the NIC.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: "Kok, Auke" &lt;auke-jan.h.kok@intel.com&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: Don't enable polling in open() (was: e1000: assertion hit in e1000_clean(), kernel 2.6.21.1)</title>
<updated>2007-05-21T23:41:19+00:00</updated>
<author>
<name>Auke Kok</name>
<email>auke-jan.h.kok@intel.com</email>
</author>
<published>2007-05-21T21:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3e1657c8ef53e1cd541cc1e420f3230dc075949b'/>
<id>3e1657c8ef53e1cd541cc1e420f3230dc075949b</id>
<content type='text'>
Herbert Xu wrote:
"netif_poll_enable can only be called if you've previously called
netif_poll_disable.  Otherwise a poll might already be in action
and you may get a crash like this."

Removing the call to netif_poll_enable in e1000_open should fix this issue,
the only other call to netif_poll_enable is in e1000_up() which is only
reached after a device reset or resume.

Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8455
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240339

Tested by Doug Chapman &lt;doug.chapman@hp.com&gt;

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Herbert Xu wrote:
"netif_poll_enable can only be called if you've previously called
netif_poll_disable.  Otherwise a poll might already be in action
and you may get a crash like this."

Removing the call to netif_poll_enable in e1000_open should fix this issue,
the only other call to netif_poll_enable is in e1000_up() which is only
reached after a device reset or resume.

Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8455
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240339

Tested by Doug Chapman &lt;doug.chapman@hp.com&gt;

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: Fix msi enable leak on error, don't print error message, cleanup</title>
<updated>2007-05-18T00:43:15+00:00</updated>
<author>
<name>Auke Kok</name>
<email>auke-jan.h.kok@intel.com</email>
</author>
<published>2007-05-16T08:49:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e94bd23f67c87011f012f26ca0af3fcf6878eeac'/>
<id>e94bd23f67c87011f012f26ca0af3fcf6878eeac</id>
<content type='text'>
pci_enable_msi failure is a normal event so we should not print any error.
Going over the code I spotted a missing pci_disable_msi() leak when irq
allocation fails. The whole code also needed a cleanup, so I combined the
two different calls to pci_request_irq into a single call making this
look a lot better. All #ifdef CONFIG_PCI_MSI's have been removed.

Compile tested with both CONFIG_PCI_MSI enabled and disabled.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
pci_enable_msi failure is a normal event so we should not print any error.
Going over the code I spotted a missing pci_disable_msi() leak when irq
allocation fails. The whole code also needed a cleanup, so I combined the
two different calls to pci_request_irq into a single call making this
look a lot better. All #ifdef CONFIG_PCI_MSI's have been removed.

Compile tested with both CONFIG_PCI_MSI enabled and disabled.

Signed-off-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>unify flush_work/flush_work_keventd and rename it to cancel_work_sync</title>
<updated>2007-05-09T19:30:53+00:00</updated>
<author>
<name>Oleg Nesterov</name>
<email>oleg@tv-sign.ru</email>
</author>
<published>2007-05-09T09:34:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=28e53bddf814485699a4142bc056fd37d4e11dd4'/>
<id>28e53bddf814485699a4142bc056fd37d4e11dd4</id>
<content type='text'>
flush_work(wq, work) doesn't need the first parameter, we can use cwq-&gt;wq
(this was possible from the very beginnig, I missed this).  So we can unify
flush_work_keventd and flush_work.

Also, rename flush_work() to cancel_work_sync() and fix all callers.
Perhaps this is not the best name, but "flush_work" is really bad.

(akpm: this is why the earlier patches bypassed maintainers)

Signed-off-by: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Auke Kok &lt;auke-jan.h.kok@intel.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
flush_work(wq, work) doesn't need the first parameter, we can use cwq-&gt;wq
(this was possible from the very beginnig, I missed this).  So we can unify
flush_work_keventd and flush_work.

Also, rename flush_work() to cancel_work_sync() and fix all callers.
Perhaps this is not the best name, but "flush_work" is really bad.

(akpm: this is why the earlier patches bypassed maintainers)

Signed-off-by: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;,
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: use flush_work_keventd()</title>
<updated>2007-05-09T19:30:51+00:00</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2007-05-09T09:33:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d9ef8b92887c35f113cb749270530f87961f7a0a'/>
<id>d9ef8b92887c35f113cb749270530f87961f7a0a</id>
<content type='text'>
Switch e1000 over to flush_work_keventd().  This probably fixes a netdev-close
versus linkwatch rtnl_lock() deadlock which nobody knew about.

(akpm: bypassed maintainers, sorry.  There are other patches which depend on
this)

Cc: "Maciej W. Rozycki" &lt;macro@linux-mips.org&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Acked-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Cc: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch e1000 over to flush_work_keventd().  This probably fixes a netdev-close
versus linkwatch rtnl_lock() deadlock which nobody knew about.

(akpm: bypassed maintainers, sorry.  There are other patches which depend on
this)

Cc: "Maciej W. Rozycki" &lt;macro@linux-mips.org&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Acked-by: Auke Kok &lt;auke-jan.h.kok@intel.com&gt;
Cc: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
