<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/fec.c, branch v2.6.34</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>FEC: Fix kernel panic in fec_set_mac_address.</title>
<updated>2010-05-05T07:55:48+00:00</updated>
<author>
<name>Mattias Walström</name>
<email>mattias@vmlinux.org</email>
</author>
<published>2010-05-05T07:55:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7cff0943a1104479fc9fc2d6ced24c02ba81e73e'/>
<id>7cff0943a1104479fc9fc2d6ced24c02ba81e73e</id>
<content type='text'>
Fix memory corruption that sometimes result in kernel panic.

Signed-off-by: Mattias Walström &lt;mattias@vmlinux.org&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>
Fix memory corruption that sometimes result in kernel panic.

Signed-off-by: Mattias Walström &lt;mattias@vmlinux.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: convert multiple drivers to use netdev_for_each_mc_addr, part4</title>
<updated>2010-02-22T23:45:52+00:00</updated>
<author>
<name>Jiri Pirko</name>
<email>jpirko@redhat.com</email>
</author>
<published>2010-02-22T09:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=48e2f183cb1709600012265a2e723f45a350d5fe'/>
<id>48e2f183cb1709600012265a2e723f45a350d5fe</id>
<content type='text'>
Signed-off-by: Jiri Pirko &lt;jpirko@redhat.com&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>
Signed-off-by: Jiri Pirko &lt;jpirko@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: use netdev_mc_count and netdev_mc_empty when appropriate</title>
<updated>2010-02-12T19:38:58+00:00</updated>
<author>
<name>Jiri Pirko</name>
<email>jpirko@redhat.com</email>
</author>
<published>2010-02-08T04:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5'/>
<id>4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5</id>
<content type='text'>
This patch replaces dev-&gt;mc_count in all drivers (hopefully I didn't miss
anything). Used spatch and did small tweaks and conding style changes when
it was suitable.

Jirka

Signed-off-by: Jiri Pirko &lt;jpirko@redhat.com&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>
This patch replaces dev-&gt;mc_count in all drivers (hopefully I didn't miss
anything). Used spatch and did small tweaks and conding style changes when
it was suitable.

Jirka

Signed-off-by: Jiri Pirko &lt;jpirko@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fec: Add LAN8700 phy support</title>
<updated>2010-02-10T21:05:42+00:00</updated>
<author>
<name>Amit Kucheria</name>
<email>amit.kucheria@canonical.com</email>
</author>
<published>2010-02-05T08:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fceb2919192d7a667be81c17c0bfa227fd7fa992'/>
<id>fceb2919192d7a667be81c17c0bfa227fd7fa992</id>
<content type='text'>
The i.MX51 babbage board has a FEC ethernet controller with this phy.

In the long term we should resurrect the phylib patches for fec.

Signed-off-by: Amit Kucheria &lt;amit.kucheria@canonical.com&gt;
Acked-by: Grant Likely &lt;grant.likely@secretlab.ca&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>
The i.MX51 babbage board has a FEC ethernet controller with this phy.

In the long term we should resurrect the phylib patches for fec.

Signed-off-by: Amit Kucheria &lt;amit.kucheria@canonical.com&gt;
Acked-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fec: fix uninitialized rx buffer usage</title>
<updated>2010-02-10T21:05:42+00:00</updated>
<author>
<name>Rob Herring</name>
<email>r.herring@freescale.com</email>
</author>
<published>2010-02-05T08:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=633e7533cec78b99d806248e832fc83e689d2453'/>
<id>633e7533cec78b99d806248e832fc83e689d2453</id>
<content type='text'>
The fec driver was enabling receive buffer descriptor without allocating
the buffers. Make sure the buffer descriptors are initialized to not
start receiving packets.

Open also calls fec_restart after the rx buffers are allocated. With the code
in fec_restart, it zeroes out the buffer descriptors that have just been
setup.

Signed-off-by: Rob Herring &lt;r.herring@freescale.com&gt;
Signed-off-by: Amit Kucheria &lt;amit.kucheria@canonical.com&gt;
Acked-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&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>
The fec driver was enabling receive buffer descriptor without allocating
the buffers. Make sure the buffer descriptors are initialized to not
start receiving packets.

Open also calls fec_restart after the rx buffers are allocated. With the code
in fec_restart, it zeroes out the buffer descriptors that have just been
setup.

Signed-off-by: Rob Herring &lt;r.herring@freescale.com&gt;
Signed-off-by: Amit Kucheria &lt;amit.kucheria@canonical.com&gt;
Acked-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: fix section mismatch in fec.c</title>
<updated>2009-10-21T01:51:37+00:00</updated>
<author>
<name>Steven King</name>
<email>sfking@fdwdc.com</email>
</author>
<published>2009-10-21T01:51:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=78abcb13dd573f80d76d12007b36200a86f1e494'/>
<id>78abcb13dd573f80d76d12007b36200a86f1e494</id>
<content type='text'>
fec_enet_init is called by both fec_probe and fec_resume, so it
shouldn't be marked as __init.

Signed-off-by: Steven King &lt;sfking@fdwdc.com&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>
fec_enet_init is called by both fec_probe and fec_resume, so it
shouldn't be marked as __init.

Signed-off-by: Steven King &lt;sfking@fdwdc.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu</title>
<updated>2009-09-17T16:52:43+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-09-17T16:52:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=66bc4a6f34a950c7aede597c578352c3eba82017'/>
<id>66bc4a6f34a950c7aede597c578352c3eba82017</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits)
  m68knommu: Make PAGE_SIZE available to assembly files.
  m68knommu: fix ColdFire definition of CLOCK_TICK_RATE
  m68knommu: set multi-function pins for ethernet when enabled
  m68knommu: remove special interrupt handling code for ne2k support
  m68knommu: relax IO_SPACE_LIMIT setting
  m68knommu: remove ColdFire direct interrupt register access
  m68knommu: create a speciailized ColdFire 5272 interrupt controller
  m68knommu: add support for second interrupt controller of ColdFire 5249
  m68knommu: clean up old ColdFire timer irq setup
  m68knommu: map ColdFire interrupts to correct masking bits
  m68knommu: clean up ColdFire 532x CPU timer setup
  m68knommu: simplify ColdFire "timers" clock initialization
  m68knommu: support code to mask external interrupts on old ColdFire CPU's
  m68knommu: merge old ColdFire interrupt controller masking macros
  m68knommu: remove duplicate ColdFire mcf_autovector() code
  m68knommu: move ColdFire INTC definitions to new include file
  m68knommu: mask off all interrupts in ColdFire intc-simr controller
  m68knommu: remove timer device interrupt setup for ColdFire 532x
  m68knommu: remove interrupt masking from ColdFire pit timer
  m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits)
  m68knommu: Make PAGE_SIZE available to assembly files.
  m68knommu: fix ColdFire definition of CLOCK_TICK_RATE
  m68knommu: set multi-function pins for ethernet when enabled
  m68knommu: remove special interrupt handling code for ne2k support
  m68knommu: relax IO_SPACE_LIMIT setting
  m68knommu: remove ColdFire direct interrupt register access
  m68knommu: create a speciailized ColdFire 5272 interrupt controller
  m68knommu: add support for second interrupt controller of ColdFire 5249
  m68knommu: clean up old ColdFire timer irq setup
  m68knommu: map ColdFire interrupts to correct masking bits
  m68knommu: clean up ColdFire 532x CPU timer setup
  m68knommu: simplify ColdFire "timers" clock initialization
  m68knommu: support code to mask external interrupts on old ColdFire CPU's
  m68knommu: merge old ColdFire interrupt controller masking macros
  m68knommu: remove duplicate ColdFire mcf_autovector() code
  m68knommu: move ColdFire INTC definitions to new include file
  m68knommu: mask off all interrupts in ColdFire intc-simr controller
  m68knommu: remove timer device interrupt setup for ColdFire 532x
  m68knommu: remove interrupt masking from ColdFire pit timer
  m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>m68knommu: remove ColdFire direct interrupt register access</title>
<updated>2009-09-15T23:43:54+00:00</updated>
<author>
<name>Greg Ungerer</name>
<email>gerg@uclinux.org</email>
</author>
<published>2009-07-07T02:13:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=49802967cb7ec4f36a64e192108babe1c3b67e8e'/>
<id>49802967cb7ec4f36a64e192108babe1c3b67e8e</id>
<content type='text'>
Now that the ColdFire 5272 has full interrupt controller functionality
we can remove all the interrupt masking and acking code from the FEC
ethernet driver.

Signed-off-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that the ColdFire 5272 has full interrupt controller functionality
we can remove all the interrupt masking and acking code from the FEC
ethernet driver.

Signed-off-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fec: don't enable irqs in hard irq context</title>
<updated>2009-09-03T06:46:06+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2009-09-01T23:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=81538e74ca12a71ea37ce72f809ebc65a90b9538'/>
<id>81538e74ca12a71ea37ce72f809ebc65a90b9538</id>
<content type='text'>
fec_enet_mii, fec_enet_rx and fec_enet_tx are both only called by
fec_enet_interrupt in interrupt context.  So they must not use
spin_lock_irq/spin_unlock_irq.

This fixes:
	WARNING: at kernel/lockdep.c:2140 trace_hardirqs_on_caller+0x130/0x194()
	...

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: Greg Ungerer &lt;gerg@uclinux.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Matt Waddel &lt;Matt.Waddel@freescale.com&gt;
Cc: netdev@vger.kernel.org
Cc: Tim Sander &lt;tim01@vlsi.informatik.tu-darmstadt.de&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&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>
fec_enet_mii, fec_enet_rx and fec_enet_tx are both only called by
fec_enet_interrupt in interrupt context.  So they must not use
spin_lock_irq/spin_unlock_irq.

This fixes:
	WARNING: at kernel/lockdep.c:2140 trace_hardirqs_on_caller+0x130/0x194()
	...

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: Greg Ungerer &lt;gerg@uclinux.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Matt Waddel &lt;Matt.Waddel@freescale.com&gt;
Cc: netdev@vger.kernel.org
Cc: Tim Sander &lt;tim01@vlsi.informatik.tu-darmstadt.de&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fec: fix recursive locking of mii_lock</title>
<updated>2009-09-03T06:46:03+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2009-09-01T23:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=84177a20799072c65a69b62571660d4d9780823c'/>
<id>84177a20799072c65a69b62571660d4d9780823c</id>
<content type='text'>
mii_discover_phy is only called by fec_enet_mii (via mip-&gt;mii_func).  So
&amp;fep-&gt;mii_lock is already held and mii_discover_phy must not call
mii_queue which locks &amp;fep-&gt;mii_lock, too.

This was noticed by lockdep:

	=============================================
	[ INFO: possible recursive locking detected ]
	2.6.31-rc8-00038-g37d0892 #109
	---------------------------------------------
	swapper/1 is trying to acquire lock:
	 (&amp;fep-&gt;mii_lock){-.....}, at: [&lt;c01569f8&gt;] mii_queue+0x2c/0xcc

	but task is already holding lock:
	 (&amp;fep-&gt;mii_lock){-.....}, at: [&lt;c0156328&gt;] fec_enet_interrupt+0x78/0x460

	other info that might help us debug this:
	2 locks held by swapper/1:
	 #0:  (rtnl_mutex){+.+.+.}, at: [&lt;c0183534&gt;] rtnl_lock+0x18/0x20
	 #1:  (&amp;fep-&gt;mii_lock){-.....}, at: [&lt;c0156328&gt;] fec_enet_interrupt+0x78/0x460

	stack backtrace:
	Backtrace:
	[&lt;c00226fc&gt;] (dump_backtrace+0x0/0x108) from [&lt;c01eac14&gt;] (dump_stack+0x18/0x1c)
	 r6:c781d118 r5:c03e41d8 r4:00000001
	[&lt;c01eabfc&gt;] (dump_stack+0x0/0x1c) from [&lt;c005bae4&gt;] (__lock_acquire+0x1a20/0x1a88)
	[&lt;c005a0c4&gt;] (__lock_acquire+0x0/0x1a88) from [&lt;c005bbac&gt;] (lock_acquire+0x60/0x74)
	[&lt;c005bb4c&gt;] (lock_acquire+0x0/0x74) from [&lt;c01edda8&gt;] (_spin_lock_irqsave+0x54/0x68)
	 r7:60000093 r6:c01569f8 r5:c785e468 r4:00000000
	[&lt;c01edd54&gt;] (_spin_lock_irqsave+0x0/0x68) from [&lt;c01569f8&gt;] (mii_queue+0x2c/0xcc)
	 r7:c785e468 r6:c0156b24 r5:600a0000 r4:c785e000
	[&lt;c01569cc&gt;] (mii_queue+0x0/0xcc) from [&lt;c0156b78&gt;] (mii_discover_phy+0x54/0xa8)
	 r8:00000002 r7:00000032 r6:c785e000 r5:c785e360 r4:c785e000
	[&lt;c0156b24&gt;] (mii_discover_phy+0x0/0xa8) from [&lt;c0156354&gt;] (fec_enet_interrupt+0xa4/0x460)
	 r5:c785e360 r4:c077a170
	[&lt;c01562b0&gt;] (fec_enet_interrupt+0x0/0x460) from [&lt;c0066674&gt;] (handle_IRQ_event+0x48/0x120)
	[&lt;c006662c&gt;] (handle_IRQ_event+0x0/0x120) from [&lt;c0068438&gt;] (handle_level_irq+0x94/0x11c)
	...

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: Greg Ungerer &lt;gerg@uclinux.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Matt Waddel &lt;Matt.Waddel@freescale.com&gt;
Cc: netdev@vger.kernel.org
Cc: Tim Sander &lt;tim01@vlsi.informatik.tu-darmstadt.de&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&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>
mii_discover_phy is only called by fec_enet_mii (via mip-&gt;mii_func).  So
&amp;fep-&gt;mii_lock is already held and mii_discover_phy must not call
mii_queue which locks &amp;fep-&gt;mii_lock, too.

This was noticed by lockdep:

	=============================================
	[ INFO: possible recursive locking detected ]
	2.6.31-rc8-00038-g37d0892 #109
	---------------------------------------------
	swapper/1 is trying to acquire lock:
	 (&amp;fep-&gt;mii_lock){-.....}, at: [&lt;c01569f8&gt;] mii_queue+0x2c/0xcc

	but task is already holding lock:
	 (&amp;fep-&gt;mii_lock){-.....}, at: [&lt;c0156328&gt;] fec_enet_interrupt+0x78/0x460

	other info that might help us debug this:
	2 locks held by swapper/1:
	 #0:  (rtnl_mutex){+.+.+.}, at: [&lt;c0183534&gt;] rtnl_lock+0x18/0x20
	 #1:  (&amp;fep-&gt;mii_lock){-.....}, at: [&lt;c0156328&gt;] fec_enet_interrupt+0x78/0x460

	stack backtrace:
	Backtrace:
	[&lt;c00226fc&gt;] (dump_backtrace+0x0/0x108) from [&lt;c01eac14&gt;] (dump_stack+0x18/0x1c)
	 r6:c781d118 r5:c03e41d8 r4:00000001
	[&lt;c01eabfc&gt;] (dump_stack+0x0/0x1c) from [&lt;c005bae4&gt;] (__lock_acquire+0x1a20/0x1a88)
	[&lt;c005a0c4&gt;] (__lock_acquire+0x0/0x1a88) from [&lt;c005bbac&gt;] (lock_acquire+0x60/0x74)
	[&lt;c005bb4c&gt;] (lock_acquire+0x0/0x74) from [&lt;c01edda8&gt;] (_spin_lock_irqsave+0x54/0x68)
	 r7:60000093 r6:c01569f8 r5:c785e468 r4:00000000
	[&lt;c01edd54&gt;] (_spin_lock_irqsave+0x0/0x68) from [&lt;c01569f8&gt;] (mii_queue+0x2c/0xcc)
	 r7:c785e468 r6:c0156b24 r5:600a0000 r4:c785e000
	[&lt;c01569cc&gt;] (mii_queue+0x0/0xcc) from [&lt;c0156b78&gt;] (mii_discover_phy+0x54/0xa8)
	 r8:00000002 r7:00000032 r6:c785e000 r5:c785e360 r4:c785e000
	[&lt;c0156b24&gt;] (mii_discover_phy+0x0/0xa8) from [&lt;c0156354&gt;] (fec_enet_interrupt+0xa4/0x460)
	 r5:c785e360 r4:c077a170
	[&lt;c01562b0&gt;] (fec_enet_interrupt+0x0/0x460) from [&lt;c0066674&gt;] (handle_IRQ_event+0x48/0x120)
	[&lt;c006662c&gt;] (handle_IRQ_event+0x0/0x120) from [&lt;c0068438&gt;] (handle_level_irq+0x94/0x11c)
	...

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: Greg Ungerer &lt;gerg@uclinux.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Matt Waddel &lt;Matt.Waddel@freescale.com&gt;
Cc: netdev@vger.kernel.org
Cc: Tim Sander &lt;tim01@vlsi.informatik.tu-darmstadt.de&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
