<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/forcedeth.c, branch linux-2.6.26.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>forcedeth: fix checksum flag</title>
<updated>2008-09-08T11:44:19+00:00</updated>
<author>
<name>Ayaz Abdulla</name>
<email>aabdulla@nvidia.com</email>
</author>
<published>2008-08-28T19:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d584a416f04eb2916d3b3dbd88a05d5210276e55'/>
<id>d584a416f04eb2916d3b3dbd88a05d5210276e55</id>
<content type='text'>
commit edcfe5f7e307846e578fb88d69fa27051fded0ab upstream

Fix the checksum feature advertised in device flags.  The hardware support
TCP/UDP over IPv4 and TCP/UDP over IPv6 (without IPv6 extension headers).
However, the kernel feature flags do not distinguish IPv6 with/without
extension headers.

Therefore, the driver needs to use NETIF_F_IP_CSUM instead of
NETIF_F_HW_CSUM since the latter includes all IPv6 packets.

A future patch can be created to check for extension headers and perform
software checksum calculation.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: Jeff Garzik &lt;jgarzik@pobox.com&gt;
Cc: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@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>
commit edcfe5f7e307846e578fb88d69fa27051fded0ab upstream

Fix the checksum feature advertised in device flags.  The hardware support
TCP/UDP over IPv4 and TCP/UDP over IPv6 (without IPv6 extension headers).
However, the kernel feature flags do not distinguish IPv6 with/without
extension headers.

Therefore, the driver needs to use NETIF_F_IP_CSUM instead of
NETIF_F_HW_CSUM since the latter includes all IPv6 packets.

A future patch can be created to check for extension headers and perform
software checksum calculation.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: Jeff Garzik &lt;jgarzik@pobox.com&gt;
Cc: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>forcedeth: fix lockdep warning on ethtool -s</title>
<updated>2008-07-04T12:09:52+00:00</updated>
<author>
<name>Tobias Diedrich</name>
<email>ranma+kernel@tdiedrich.de</email>
</author>
<published>2008-07-04T06:54:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=97bff0953dd45a633fa69e1a650d612f5610a60b'/>
<id>97bff0953dd45a633fa69e1a650d612f5610a60b</id>
<content type='text'>
After enabling CONFIG_LOCKDEP and CONFIG_PROVE_LOCKING I get the
following warning when ethtool -s is first called on one of the
forcedeth ports:

=================================
[ INFO: inconsistent lock state ]
2.6.26-rc4 #28
---------------------------------
inconsistent {in-hardirq-W} -&gt; {hardirq-on-W} usage.
ethtool/1985 [HC0[0]:SC0[1]:HE1:SE0] takes:
 (&amp;np-&gt;lock){++..}, at: [&lt;ffffffffa000c5fd&gt;] nv_set_settings+0xc8/0x3de [forcedeth]
{in-hardirq-W} state was registered at:
  [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff
irq event stamp: 3606
hardirqs last  enabled at (3605): [&lt;ffffffff8068106f&gt;] _spin_unlock_irqrestore+0x3f/0x68
hardirqs last disabled at (3604): [&lt;ffffffff80680d38&gt;] _spin_lock_irqsave+0x13/0x46
softirqs last  enabled at (3534): [&lt;ffffffff80246ba5&gt;] __do_softirq+0xbc/0xc5
softirqs last disabled at (3606): [&lt;ffffffff80680b33&gt;] _spin_lock_bh+0x11/0x41

other info that might help us debug this:
2 locks held by ethtool/1985:
 #0:  (rtnl_mutex){--..}, at: [&lt;ffffffff80596072&gt;] rtnl_lock+0x12/0x14
 #1:  (_xmit_ETHER){-+..}, at: [&lt;ffffffffa000c5e8&gt;] nv_set_settings+0xb3/0x3de [forcedeth]
stack backtrace:
Pid: 1985, comm: ethtool Not tainted 2.6.26-rc4 #28
Call Trace:
 [&lt;ffffffff8025f190&gt;] print_usage_bug+0x162/0x173
 [&lt;ffffffff8025fa8b&gt;] mark_lock+0x231/0x41f
 [&lt;ffffffff802607cf&gt;] __lock_acquire+0x4e7/0xcac
 [&lt;ffffffff8025fe64&gt;] ? trace_hardirqs_on+0xf1/0x115
 [&lt;ffffffff80272c3a&gt;] ? disable_irq_nosync+0x6f/0x7b
 [&lt;ffffffff80261375&gt;] lock_acquire+0x55/0x6e
 [&lt;ffffffffa000c5fd&gt;] ? :forcedeth:nv_set_settings+0xc8/0x3de
 [&lt;ffffffff80680b15&gt;] _spin_lock+0x2f/0x3c
 [&lt;ffffffffa000c5fd&gt;] :forcedeth:nv_set_settings+0xc8/0x3de
 [&lt;ffffffff8058f8bb&gt;] dev_ethtool+0x186/0xea3
 [&lt;ffffffff8067f446&gt;] ? mutex_lock_nested+0x243/0x275
 [&lt;ffffffff8025df2b&gt;] ? debug_mutex_free_waiter+0x46/0x4a
 [&lt;ffffffff8067f469&gt;] ? mutex_lock_nested+0x266/0x275
 [&lt;ffffffff8058e1ce&gt;] dev_ioctl+0x4eb/0x600
 [&lt;ffffffff8068106f&gt;] ? _spin_unlock_irqrestore+0x3f/0x68
 [&lt;ffffffff80580f91&gt;] sock_ioctl+0x1f5/0x202
 [&lt;ffffffff802a322e&gt;] vfs_ioctl+0x2a/0x77
 [&lt;ffffffff802a34d6&gt;] do_vfs_ioctl+0x25b/0x270
 [&lt;ffffffff806807b6&gt;] ? trace_hardirqs_on_thunk+0x35/0x3a
 [&lt;ffffffff802a352d&gt;] sys_ioctl+0x42/0x65
 [&lt;ffffffff8021fffb&gt;] system_call_after_swapgs+0x7b/0x80

This is caused by the following snippet in nv_set_settings:

	netif_carrier_off(dev);
	if (netif_running(dev)) {
		nv_disable_irq(dev);
		netif_tx_lock_bh(dev);
		spin_lock(&amp;np-&gt;lock);
		/* stop engines */
		nv_stop_rxtx(dev);
		spin_unlock(&amp;np-&gt;lock);
		netif_tx_unlock_bh(dev);
	}

Because of nv_disable_irq this is probably not really a problem
though (I guess) and replacing the spin_lock with spin_lock_irqsave
could keep interrupts disabled for a longer period of time because
of delays in nv_stop_rx and nv_stop_tx.

Signed-off-by: Tobias Diedrich &lt;ranma+kernel@tdiedrich.de&gt;
Cc: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After enabling CONFIG_LOCKDEP and CONFIG_PROVE_LOCKING I get the
following warning when ethtool -s is first called on one of the
forcedeth ports:

=================================
[ INFO: inconsistent lock state ]
2.6.26-rc4 #28
---------------------------------
inconsistent {in-hardirq-W} -&gt; {hardirq-on-W} usage.
ethtool/1985 [HC0[0]:SC0[1]:HE1:SE0] takes:
 (&amp;np-&gt;lock){++..}, at: [&lt;ffffffffa000c5fd&gt;] nv_set_settings+0xc8/0x3de [forcedeth]
{in-hardirq-W} state was registered at:
  [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff
irq event stamp: 3606
hardirqs last  enabled at (3605): [&lt;ffffffff8068106f&gt;] _spin_unlock_irqrestore+0x3f/0x68
hardirqs last disabled at (3604): [&lt;ffffffff80680d38&gt;] _spin_lock_irqsave+0x13/0x46
softirqs last  enabled at (3534): [&lt;ffffffff80246ba5&gt;] __do_softirq+0xbc/0xc5
softirqs last disabled at (3606): [&lt;ffffffff80680b33&gt;] _spin_lock_bh+0x11/0x41

other info that might help us debug this:
2 locks held by ethtool/1985:
 #0:  (rtnl_mutex){--..}, at: [&lt;ffffffff80596072&gt;] rtnl_lock+0x12/0x14
 #1:  (_xmit_ETHER){-+..}, at: [&lt;ffffffffa000c5e8&gt;] nv_set_settings+0xb3/0x3de [forcedeth]
stack backtrace:
Pid: 1985, comm: ethtool Not tainted 2.6.26-rc4 #28
Call Trace:
 [&lt;ffffffff8025f190&gt;] print_usage_bug+0x162/0x173
 [&lt;ffffffff8025fa8b&gt;] mark_lock+0x231/0x41f
 [&lt;ffffffff802607cf&gt;] __lock_acquire+0x4e7/0xcac
 [&lt;ffffffff8025fe64&gt;] ? trace_hardirqs_on+0xf1/0x115
 [&lt;ffffffff80272c3a&gt;] ? disable_irq_nosync+0x6f/0x7b
 [&lt;ffffffff80261375&gt;] lock_acquire+0x55/0x6e
 [&lt;ffffffffa000c5fd&gt;] ? :forcedeth:nv_set_settings+0xc8/0x3de
 [&lt;ffffffff80680b15&gt;] _spin_lock+0x2f/0x3c
 [&lt;ffffffffa000c5fd&gt;] :forcedeth:nv_set_settings+0xc8/0x3de
 [&lt;ffffffff8058f8bb&gt;] dev_ethtool+0x186/0xea3
 [&lt;ffffffff8067f446&gt;] ? mutex_lock_nested+0x243/0x275
 [&lt;ffffffff8025df2b&gt;] ? debug_mutex_free_waiter+0x46/0x4a
 [&lt;ffffffff8067f469&gt;] ? mutex_lock_nested+0x266/0x275
 [&lt;ffffffff8058e1ce&gt;] dev_ioctl+0x4eb/0x600
 [&lt;ffffffff8068106f&gt;] ? _spin_unlock_irqrestore+0x3f/0x68
 [&lt;ffffffff80580f91&gt;] sock_ioctl+0x1f5/0x202
 [&lt;ffffffff802a322e&gt;] vfs_ioctl+0x2a/0x77
 [&lt;ffffffff802a34d6&gt;] do_vfs_ioctl+0x25b/0x270
 [&lt;ffffffff806807b6&gt;] ? trace_hardirqs_on_thunk+0x35/0x3a
 [&lt;ffffffff802a352d&gt;] sys_ioctl+0x42/0x65
 [&lt;ffffffff8021fffb&gt;] system_call_after_swapgs+0x7b/0x80

This is caused by the following snippet in nv_set_settings:

	netif_carrier_off(dev);
	if (netif_running(dev)) {
		nv_disable_irq(dev);
		netif_tx_lock_bh(dev);
		spin_lock(&amp;np-&gt;lock);
		/* stop engines */
		nv_stop_rxtx(dev);
		spin_unlock(&amp;np-&gt;lock);
		netif_tx_unlock_bh(dev);
	}

Because of nv_disable_irq this is probably not really a problem
though (I guess) and replacing the spin_lock with spin_lock_irqsave
could keep interrupts disabled for a longer period of time because
of delays in nv_stop_rx and nv_stop_tx.

Signed-off-by: Tobias Diedrich &lt;ranma+kernel@tdiedrich.de&gt;
Cc: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>forcedeth: msi interrupts</title>
<updated>2008-06-10T22:20:13+00:00</updated>
<author>
<name>Ayaz Abdulla</name>
<email>aabdulla@nvidia.com</email>
</author>
<published>2008-06-09T23:51:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4db0ee176e256444695ee2d7b004552e82fec987'/>
<id>4db0ee176e256444695ee2d7b004552e82fec987</id>
<content type='text'>
Add a workaround for lost MSI interrupts.  There is a race condition in
the HW in which future interrupts could be missed.  The workaround is to
toggle the MSI irq mask.

Added cleanup based on comments from Andrew Morton.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a workaround for lost MSI interrupts.  There is a race condition in
the HW in which future interrupts could be missed.  The workaround is to
toggle the MSI irq mask.

Added cleanup based on comments from Andrew Morton.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[netdrvr] forcedeth: Restore multicast settings on resume</title>
<updated>2008-05-22T10:18:47+00:00</updated>
<author>
<name>Tobias Diedrich</name>
<email>ranma+kernel@tdiedrich.de</email>
</author>
<published>2008-05-18T13:00:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=40ba182e3ca9f019f299ce5052fcd7e4cf68d11b'/>
<id>40ba182e3ca9f019f299ce5052fcd7e4cf68d11b</id>
<content type='text'>
nv_open() resets multicast settings, call nv_set_multicast(dev)
to restore them.  (Maybe this should rather be moved into nv_open())

Signed-off-by: Tobias Diedrich &lt;ranma+kernel@tdiedrich.de&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nv_open() resets multicast settings, call nv_set_multicast(dev)
to restore them.  (Maybe this should rather be moved into nv_open())

Signed-off-by: Tobias Diedrich &lt;ranma+kernel@tdiedrich.de&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>forcedeth: realtek phy crossover detection</title>
<updated>2008-04-25T06:08:57+00:00</updated>
<author>
<name>Ayaz Abdulla</name>
<email>aabdulla@nvidia.com</email>
</author>
<published>2008-04-23T18:37:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9f3f7910c67adfb520bbae3d8b16985439a97198'/>
<id>9f3f7910c67adfb520bbae3d8b16985439a97198</id>
<content type='text'>
This patch fixes an issue seen with the realtek 8201 phy. This phy has a
problem with crossover detection and it needs to be disabled. The
problem only arises on certain switches. Therefore, a module parameter
has been added to allow enabling crossover detection if needed. The
default will be set to disabled.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes an issue seen with the realtek 8201 phy. This phy has a
problem with crossover detection and it needs to be disabled. The
problem only arises on certain switches. Therefore, a module parameter
has been added to allow enabling crossover detection if needed. The
default will be set to disabled.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>forcedeth: new backoff implementation</title>
<updated>2008-04-25T06:08:53+00:00</updated>
<author>
<name>Ayaz Abdulla</name>
<email>aabdulla@nvidia.com</email>
</author>
<published>2008-04-18T20:50:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a433686c73bf63242475ef7e611114f43dd06581'/>
<id>a433686c73bf63242475ef7e611114f43dd06581</id>
<content type='text'>
This patch adds support for a new backoff algorithm for half duplex supported
in newer hardware.  The old method is will be designated as legacy mode.

Re-seeding random values for the backoff algorithms are performed when a
transmit has failed due to a maximum retry count (1 to 15, where max is
considered the wraparound case of 0).

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support for a new backoff algorithm for half duplex supported
in newer hardware.  The old method is will be designated as legacy mode.

Re-seeding random values for the backoff algorithms are performed when a
transmit has failed due to a maximum retry count (1 to 15, where max is
considered the wraparound case of 0).

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[netdrvr] forcedeth: internal simplifications; changelog removal</title>
<updated>2008-04-17T19:31:33+00:00</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2007-10-16T05:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=36b30ea940bb88d88c90698e0e3d97a805ab5856'/>
<id>36b30ea940bb88d88c90698e0e3d97a805ab5856</id>
<content type='text'>
* remove changelog from source; its kept in git repository

* consolidate descriptor version tests using nv_optimized()

* consolidate NIC DMA start, stop and drain into
  nv_start_txrx(), nv_stop_txrx(), nv_drain_txrx()

Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* remove changelog from source; its kept in git repository

* consolidate descriptor version tests using nv_optimized()

* consolidate NIC DMA start, stop and drain into
  nv_start_txrx(), nv_stop_txrx(), nv_drain_txrx()

Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-04-14T09:30:23+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2008-04-14T09:30:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=df39e8ba56a788733d369068c7319e04b1da3cd5'/>
<id>df39e8ba56a788733d369068c7319e04b1da3cd5</id>
<content type='text'>
Conflicts:

	drivers/net/ehea/ehea_main.c
	drivers/net/wireless/iwlwifi/Kconfig
	drivers/net/wireless/rt2x00/rt61pci.c
	net/ipv4/inet_timewait_sock.c
	net/ipv6/raw.c
	net/mac80211/ieee80211_sta.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:

	drivers/net/ehea/ehea_main.c
	drivers/net/wireless/iwlwifi/Kconfig
	drivers/net/wireless/rt2x00/rt61pci.c
	net/ipv4/inet_timewait_sock.c
	net/ipv6/raw.c
	net/mac80211/ieee80211_sta.c
</pre>
</div>
</content>
</entry>
<entry>
<title>forcedeth: mac address fix</title>
<updated>2008-04-12T08:38:12+00:00</updated>
<author>
<name>Ayaz Abdulla</name>
<email>aabdulla@nvidia.com</email>
</author>
<published>2008-04-11T04:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a376e79c6079c2ba6c5fadb0e85a3bb7e465ad89'/>
<id>a376e79c6079c2ba6c5fadb0e85a3bb7e465ad89</id>
<content type='text'>
This critical patch fixes a mac address issue recently introduced.  If the
device's mac address was in correct order and the flag
NVREG_TRANSMITPOLL_MAC_ADDR_REV was set, during nv_remove the flag would get
cleared.  During next load, the mac address would get reversed because the
flag is missing.

As it has been indicated previously, the flag is cleared across a low power
transition.  Therefore, the driver should set the mac address back into the
reversed order when clearing the flag.

Also, the driver should set back the flag after a low power transition to
protect against kexec command calling nv_probe a second time.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: "Yinghai Lu" &lt;yhlu.kernel@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This critical patch fixes a mac address issue recently introduced.  If the
device's mac address was in correct order and the flag
NVREG_TRANSMITPOLL_MAC_ADDR_REV was set, during nv_remove the flag would get
cleared.  During next load, the mac address would get reversed because the
flag is missing.

As it has been indicated previously, the flag is cleared across a low power
transition.  Therefore, the driver should set the mac address back into the
reversed order when clearing the flag.

Also, the driver should set back the flag after a low power transition to
protect against kexec command calling nv_probe a second time.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: "Yinghai Lu" &lt;yhlu.kernel@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix endian lossage in forcedeth</title>
<updated>2008-04-04T21:26:16+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@ZenIV.linux.org.uk</email>
</author>
<published>2008-03-26T05:57:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=30ecce908b944079181938e61ddbc00c8b23798c'/>
<id>30ecce908b944079181938e61ddbc00c8b23798c</id>
<content type='text'>
a) if you initialize something with le32_to_cpu(...), then |= it
with host-endian and feed to cpu_to_le32(), it's most definitely
*not* __le32.  As sparse would've told you...

b) the whole sequence is |= cpu_to_le32(host-endian constant)

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a) if you initialize something with le32_to_cpu(...), then |= it
with host-endian and feed to cpu_to_le32(), it's most definitely
*not* __le32.  As sparse would've told you...

b) the whole sequence is |= cpu_to_le32(host-endian constant)

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
