<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux-stable.git/drivers/net/sky2.c, branch linux-2.6.32.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-2.6.32.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-2.6.32.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/'/>
<updated>2010-08-02T17:20:44+00:00</updated>
<entry>
<title>sky2: enable rx/tx in sky2_phy_reinit()</title>
<updated>2010-08-02T17:20:44+00:00</updated>
<author>
<name>Brandon Philips</name>
<email>brandon@ifup.org</email>
</author>
<published>2010-06-16T16:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=da07bf0fcc8b02737196369aa7f5bd2e0afec238'/>
<id>urn:sha1:da07bf0fcc8b02737196369aa7f5bd2e0afec238</id>
<content type='text'>
commit 38000a94a902e94ca8b5498f7871c6316de8957a upstream.

sky2_phy_reinit is called by the ethtool helpers sky2_set_settings,
sky2_nway_reset and sky2_set_pauseparam when netif_running.

However, at the end of sky2_phy_init GM_GP_CTRL has GM_GPCR_RX_ENA and
GM_GPCR_TX_ENA cleared. So, doing these commands causes the device to
stop working:

$ ethtool -r eth0
$ ethtool -A eth0 autoneg off

Fix this issue by enabling Rx/Tx after running sky2_phy_init in
sky2_phy_reinit.

Signed-off-by: Brandon Philips &lt;bphilips@suse.de&gt;
Tested-by: Brandon Philips &lt;bphilips@suse.de&gt;
Cc: stable@kernel.org
Tested-by: Mike McCormack &lt;mikem@ring3k.org&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>sky2: fix transmit DMA map leakage</title>
<updated>2010-03-15T15:49:39+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2010-02-01T13:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=a816ca1fe6aa3c3a2924936cf7c688f59099b933'/>
<id>urn:sha1:a816ca1fe6aa3c3a2924936cf7c688f59099b933</id>
<content type='text'>
[ Upstream commit f6815077e75c5b7f55b56fc3788e328514d4e72a ]

The book keeping structure for transmit always had the flags value
cleared so transmit DMA maps were never released correctly.
Based on patch by Jarek Poplawski, problem observed by Michael Breuer.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.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>sky2: Fix oops in sky2_xmit_frame() after TX timeout</title>
<updated>2010-02-09T12:50:55+00:00</updated>
<author>
<name>Jarek Poplawski</name>
<email>jarkao2@gmail.com</email>
</author>
<published>2010-01-04T08:48:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=16813330e739634925b347804d1e6a99b71c6399'/>
<id>urn:sha1:16813330e739634925b347804d1e6a99b71c6399</id>
<content type='text'>
[ Upstream commit 9db2f1bec36805e57a003f7bb90e003815d96de8 ]

During TX timeout procedure dev could be awoken too early, e.g. by
sky2_complete_tx() called from sky2_down(). Then sky2_xmit_frame()
can run while buffers are freed causing an oops. This patch fixes it
by adding netif_device_present() test in sky2_tx_complete().

Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=14925

With debugging by: Mike McCormack &lt;mikem@ring3k.org&gt;

Reported-by: Berck E. Nash &lt;flyboy@gmail.com&gt;
Tested-by: Berck E. Nash &lt;flyboy@gmail.com&gt;
Signed-off-by: Jarek Poplawski &lt;jarkao2@gmail.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>sky2: set carrier off in probe</title>
<updated>2009-10-30T19:25:16+00:00</updated>
<author>
<name>Brandon Philips</name>
<email>bphilips@suse.de</email>
</author>
<published>2009-10-29T13:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=33cb7d33a1c36e07839d08a4d1a33bf6a0f70bba'/>
<id>urn:sha1:33cb7d33a1c36e07839d08a4d1a33bf6a0f70bba</id>
<content type='text'>
Before bringing up a sky2 interface up ethtool reports
"Link detected: yes". Do as ixgbe does and netif_carrier_off() on
probe().

Signed-off-by: Brandon Philips &lt;bphilips@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sky2: irqname based on pci address</title>
<updated>2009-10-01T22:14:55+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2009-10-01T07:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=66466797c7e2406579724e42eb9cfe05d53a882b'/>
<id>urn:sha1:66466797c7e2406579724e42eb9cfe05d53a882b</id>
<content type='text'>
This is based on Michal Schmidt fix for skge.

Most network drivers request their IRQ when the interface is activated.
sky2 does it in -&gt;probe() instead, because it can work with two-port
cards where the two net_devices use the same IRQ. This works fine most
of the time, except in some situations when the interface gets renamed.
Consider this example:

1. modprobe sky2
   The card is detected as eth0 and requests IRQ 17. Directory
   /proc/irq/17/eth0 is created.
2. There is an udev rule which says this interface should be called
   eth1, so udev renames eth0 -&gt; eth1.
3. modprobe 8139too
   The Realtek card is detected as eth0. It will be using IRQ 17 too.
4. ip link set eth0 up
   Now 8139too requests IRQ 17.

The result is:
WARNING: at fs/proc/generic.c:590 proc_register ...
proc_dir_entry '17/eth0' already registered

The fix is for sky2 to name the irq based on the pci device, as is done
by some other devices DRM, infiniband, ...  ie. sky2@pci:0000:00:00

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Reviewed-by: Michal Schmidt &lt;mschmidt@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of /home/davem/src/GIT/linux-2.6/</title>
<updated>2009-09-24T22:13:11+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-09-24T22:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=8b3f6af86378d0a10ca2f1ded1da124aef13b62c'/>
<id>urn:sha1:8b3f6af86378d0a10ca2f1ded1da124aef13b62c</id>
<content type='text'>
Conflicts:
	drivers/staging/Kconfig
	drivers/staging/Makefile
	drivers/staging/cpc-usb/TODO
	drivers/staging/cpc-usb/cpc-usb_drv.c
	drivers/staging/cpc-usb/cpc.h
	drivers/staging/cpc-usb/cpc_int.h
	drivers/staging/cpc-usb/cpcusb.h
</content>
</entry>
<entry>
<title>sky2: Set SKY2_HW_RAM_BUFFER in sky2_init</title>
<updated>2009-09-22T21:00:11+00:00</updated>
<author>
<name>Mike McCormack</name>
<email>mikem@ring3k.org</email>
</author>
<published>2009-09-21T04:08:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=74a61ebf653c6abe459f228eb40e9f24f7ef1fb7'/>
<id>urn:sha1:74a61ebf653c6abe459f228eb40e9f24f7ef1fb7</id>
<content type='text'>
The SKY2_HW_RAM_BUFFER bit in hw-&gt;flags was checked in sky2_mac_init(),
 before being set later in sky2_up().

Setting SKY2_HW_RAM_BUFFER in sky2_init() where other hw-&gt;flags are set
 should avoid this problem recurring.

Signed-off-by: Mike McCormack &lt;mikem@ring3k.org&gt;
Acked-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>trivial: remove unnecessary semicolons</title>
<updated>2009-09-21T13:14:58+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2009-08-18T18:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=a419aef8b858a2bdb98df60336063d28df4b272f'/>
<id>urn:sha1:a419aef8b858a2bdb98df60336063d28df4b272f</id>
<content type='text'>
Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>sky2: Make sure both ports initialize correctly</title>
<updated>2009-09-15T09:50:04+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@linux-foundation.org</email>
</author>
<published>2009-09-14T06:22:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=ca519274d537706b6fb1e3e91238d34a23320584'/>
<id>urn:sha1:ca519274d537706b6fb1e3e91238d34a23320584</id>
<content type='text'>
Sorry Mike, I sent you off the wrong way. The following is simpler and the
second port is diffrent enough in setup (because of NAPI), that the
following is simpler.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sky2: transmit ring accounting</title>
<updated>2009-09-15T09:49:57+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@linux-foundation.org</email>
</author>
<published>2009-09-14T06:12:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=07e316377458484d95f7624f7af7af99d9bd18cb'/>
<id>urn:sha1:07e316377458484d95f7624f7af7af99d9bd18cb</id>
<content type='text'>
Be more accurate about number of transmit list elements required.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
