<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/meth.c, branch v2.6.32</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.32</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.32'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2009-10-01T21:34:40+00:00</updated>
<entry>
<title>don't use __devexit_p to wrap meth_remove</title>
<updated>2009-10-01T21:34:40+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2009-09-30T22:28:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1ebb5a1aa9a1ede80a37684215971c6130ac91c8'/>
<id>urn:sha1:1ebb5a1aa9a1ede80a37684215971c6130ac91c8</id>
<content type='text'>
The function meth_remove is defined using __exit, so don't use __devexit_p
but __exit_p to wrap it.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: move meth's probe function to .devinit.text</title>
<updated>2009-07-24T01:01:06+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2009-07-21T11:25:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dd93667711761362b393cfbd5959bb11aa1fa80d'/>
<id>urn:sha1:dd93667711761362b393cfbd5959bb11aa1fa80d</id>
<content type='text'>
A pointer to meth_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded.  Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.

An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
Cc: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Cc: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Acked-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: netdev@vger.kernel.org
Cc: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions</title>
<updated>2009-07-06T02:16:04+00:00</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2009-06-23T06:03:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6ed106549d17474ca17a16057f4c0ed4eba5a7ca'/>
<id>urn:sha1:6ed106549d17474ca17a16057f4c0ed4eba5a7ca</id>
<content type='text'>
This patch is the result of an automatic spatch transformation to convert
all ndo_start_xmit() return values of 0 to NETDEV_TX_OK.

Some occurences are missed by the automatic conversion, those will be
handled in a seperate patch.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-05-19T04:08:20+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-05-19T04:08:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bb803cfbecb03a0cf8dc7e1864f18dda6631af00'/>
<id>urn:sha1:bb803cfbecb03a0cf8dc7e1864f18dda6631af00</id>
<content type='text'>
Conflicts:
	drivers/scsi/fcoe/fcoe.c
</content>
</entry>
<entry>
<title>NET: Meth: Fix unsafe mix of irq and non-irq spinlocks.</title>
<updated>2009-05-18T04:11:36+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2009-05-16T01:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a8f492c6ac6072d6c5bce4b2f13dc44612991051'/>
<id>urn:sha1:a8f492c6ac6072d6c5bce4b2f13dc44612991051</id>
<content type='text'>
Mixing of normal and irq spinlocks results in the following lockdep messages
on bootup on IP32:

[...]
Sending DHCP requests .
======================================================
[ INFO: SOFTIRQ-safe -&gt; SOFTIRQ-unsafe lock order detected ]
2.6.30-rc5-00164-g41baeef #30
------------------------------------------------------
swapper/1 [HC0[0]:SC0[1]:HE0:SE0] is trying to acquire:
 (&amp;priv-&gt;meth_lock){+.+...}, at: [&lt;ffffffff8026388c&gt;] meth_tx+0x48/0x43c

and this task is already holding:
 (_xmit_ETHER#2){+.-...}, at: [&lt;ffffffff802d3a00&gt;] __qdisc_run+0x118/0x30c
which would create a new lock dependency:
 (_xmit_ETHER#2){+.-...} -&gt; (&amp;priv-&gt;meth_lock){+.+...}

but this new dependency connects a SOFTIRQ-irq-safe lock:
 (_xmit_ETHER#2){+.-...}
... which became SOFTIRQ-irq-safe at:
  [&lt;ffffffff80061458&gt;] __lock_acquire+0x784/0x1a14
  [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
  [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
  [&lt;ffffffff802d2b88&gt;] dev_watchdog+0x70/0x398
  [&lt;ffffffff800433b8&gt;] run_timer_softirq+0x1a8/0x248
  [&lt;ffffffff8003da5c&gt;] __do_softirq+0xec/0x208
  [&lt;ffffffff8003dbd8&gt;] do_softirq+0x60/0xe4
  [&lt;ffffffff8003dda0&gt;] irq_exit+0x54/0x9c
  [&lt;ffffffff80004420&gt;] ret_from_irq+0x0/0x4
  [&lt;ffffffff80004720&gt;] r4k_wait+0x20/0x40
  [&lt;ffffffff80015418&gt;] cpu_idle+0x30/0x60
  [&lt;ffffffff804cd934&gt;] start_kernel+0x3ec/0x404

to a SOFTIRQ-irq-unsafe lock:
 (&amp;priv-&gt;meth_lock){+.+...}
... which became SOFTIRQ-irq-unsafe at:
...  [&lt;ffffffff800614f8&gt;] __lock_acquire+0x824/0x1a14
  [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
  [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
  [&lt;ffffffff80263f20&gt;] meth_reset+0x118/0x2d8
  [&lt;ffffffff8026424c&gt;] meth_open+0x28/0x140
  [&lt;ffffffff802c1ae8&gt;] dev_open+0xe0/0x18c
  [&lt;ffffffff802c1268&gt;] dev_change_flags+0xd8/0x1d4
  [&lt;ffffffff804e7770&gt;] ip_auto_config+0x1d4/0xf28
  [&lt;ffffffff80012e68&gt;] do_one_initcall+0x58/0x170
  [&lt;ffffffff804cd190&gt;] kernel_init+0x98/0x104
  [&lt;ffffffff8001520c&gt;] kernel_thread_helper+0x10/0x18

other info that might help us debug this:

2 locks held by swapper/1:
 #0:  (rcu_read_lock){.+.+..}, at: [&lt;ffffffff802c0954&gt;] dev_queue_xmit+0x1e0/0x4b0
 #1:  (_xmit_ETHER#2){+.-...}, at: [&lt;ffffffff802d3a00&gt;] __qdisc_run+0x118/0x30c

the SOFTIRQ-irq-safe lock's dependencies:
-&gt; (_xmit_ETHER#2){+.-...} ops: 0 {
   HARDIRQ-ON-W at:
                        [&lt;ffffffff800614d0&gt;] __lock_acquire+0x7fc/0x1a14
                        [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
                        [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
                        [&lt;ffffffff802d2b88&gt;] dev_watchdog+0x70/0x398
                        [&lt;ffffffff800433b8&gt;] run_timer_softirq+0x1a8/0x248
                        [&lt;ffffffff8003da5c&gt;] __do_softirq+0xec/0x208
                        [&lt;ffffffff8003dbd8&gt;] do_softirq+0x60/0xe4
                        [&lt;ffffffff8003dda0&gt;] irq_exit+0x54/0x9c
                        [&lt;ffffffff80004420&gt;] ret_from_irq+0x0/0x4
                        [&lt;ffffffff80004720&gt;] r4k_wait+0x20/0x40
                        [&lt;ffffffff80015418&gt;] cpu_idle+0x30/0x60
                        [&lt;ffffffff804cd934&gt;] start_kernel+0x3ec/0x404
   IN-SOFTIRQ-W at:
                        [&lt;ffffffff80061458&gt;] __lock_acquire+0x784/0x1a14
                        [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
                        [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
                        [&lt;ffffffff802d2b88&gt;] dev_watchdog+0x70/0x398
                        [&lt;ffffffff800433b8&gt;] run_timer_softirq+0x1a8/0x248
                        [&lt;ffffffff8003da5c&gt;] __do_softirq+0xec/0x208
                        [&lt;ffffffff8003dbd8&gt;] do_softirq+0x60/0xe4
                        [&lt;ffffffff8003dda0&gt;] irq_exit+0x54/0x9c
                        [&lt;ffffffff80004420&gt;] ret_from_irq+0x0/0x4
                        [&lt;ffffffff80004720&gt;] r4k_wait+0x20/0x40
                        [&lt;ffffffff80015418&gt;] cpu_idle+0x30/0x60
                        [&lt;ffffffff804cd934&gt;] start_kernel+0x3ec/0x404
   INITIAL USE at:
                       [&lt;ffffffff80061570&gt;] __lock_acquire+0x89c/0x1a14
                       [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
                       [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
                       [&lt;ffffffff802d2b88&gt;] dev_watchdog+0x70/0x398
                       [&lt;ffffffff800433b8&gt;] run_timer_softirq+0x1a8/0x248
                       [&lt;ffffffff8003da5c&gt;] __do_softirq+0xec/0x208
                       [&lt;ffffffff8003dbd8&gt;] do_softirq+0x60/0xe4
                       [&lt;ffffffff8003dda0&gt;] irq_exit+0x54/0x9c
                       [&lt;ffffffff80004420&gt;] ret_from_irq+0x0/0x4
                       [&lt;ffffffff80004720&gt;] r4k_wait+0x20/0x40
                       [&lt;ffffffff80015418&gt;] cpu_idle+0x30/0x60
                       [&lt;ffffffff804cd934&gt;] start_kernel+0x3ec/0x404
 }
 ... key      at: [&lt;ffffffff80cf93f0&gt;] netdev_xmit_lock_key+0x8/0x1c8

the SOFTIRQ-irq-unsafe lock's dependencies:
-&gt; (&amp;priv-&gt;meth_lock){+.+...} ops: 0 {
   HARDIRQ-ON-W at:
                        [&lt;ffffffff800614d0&gt;] __lock_acquire+0x7fc/0x1a14
                        [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
                        [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
                        [&lt;ffffffff80263f20&gt;] meth_reset+0x118/0x2d8
                        [&lt;ffffffff8026424c&gt;] meth_open+0x28/0x140
                        [&lt;ffffffff802c1ae8&gt;] dev_open+0xe0/0x18c
                        [&lt;ffffffff802c1268&gt;] dev_change_flags+0xd8/0x1d4
                        [&lt;ffffffff804e7770&gt;] ip_auto_config+0x1d4/0xf28
                        [&lt;ffffffff80012e68&gt;] do_one_initcall+0x58/0x170
                        [&lt;ffffffff804cd190&gt;] kernel_init+0x98/0x104
                        [&lt;ffffffff8001520c&gt;] kernel_thread_helper+0x10/0x18
   SOFTIRQ-ON-W at:
                        [&lt;ffffffff800614f8&gt;] __lock_acquire+0x824/0x1a14
                        [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
                        [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
                        [&lt;ffffffff80263f20&gt;] meth_reset+0x118/0x2d8
                        [&lt;ffffffff8026424c&gt;] meth_open+0x28/0x140
                        [&lt;ffffffff802c1ae8&gt;] dev_open+0xe0/0x18c
                        [&lt;ffffffff802c1268&gt;] dev_change_flags+0xd8/0x1d4
                        [&lt;ffffffff804e7770&gt;] ip_auto_config+0x1d4/0xf28
                        [&lt;ffffffff80012e68&gt;] do_one_initcall+0x58/0x170
                        [&lt;ffffffff804cd190&gt;] kernel_init+0x98/0x104
                        [&lt;ffffffff8001520c&gt;] kernel_thread_helper+0x10/0x18
   INITIAL USE at:
                       [&lt;ffffffff80061570&gt;] __lock_acquire+0x89c/0x1a14
                       [&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
                       [&lt;ffffffff800128d0&gt;] _spin_lock+0x30/0x44
                       [&lt;ffffffff80263f20&gt;] meth_reset+0x118/0x2d8
                       [&lt;ffffffff8026424c&gt;] meth_open+0x28/0x140
                       [&lt;ffffffff802c1ae8&gt;] dev_open+0xe0/0x18c
                       [&lt;ffffffff802c1268&gt;] dev_change_flags+0xd8/0x1d4
                       [&lt;ffffffff804e7770&gt;] ip_auto_config+0x1d4/0xf28
                       [&lt;ffffffff80012e68&gt;] do_one_initcall+0x58/0x170
                       [&lt;ffffffff804cd190&gt;] kernel_init+0x98/0x104
                       [&lt;ffffffff8001520c&gt;] kernel_thread_helper+0x10/0x18
 }
 ... key      at: [&lt;ffffffff80cf6ce8&gt;] __key.32424+0x0/0x8

stack backtrace:
Call Trace:
[&lt;ffffffff8000ed0c&gt;] dump_stack+0x8/0x34
[&lt;ffffffff80060b74&gt;] check_usage+0x470/0x4a0
[&lt;ffffffff80060c34&gt;] check_irq_usage+0x90/0x130
[&lt;ffffffff80061f78&gt;] __lock_acquire+0x12a4/0x1a14
[&lt;ffffffff800627e0&gt;] lock_acquire+0xf8/0x150
[&lt;ffffffff80012a0c&gt;] _spin_lock_irqsave+0x60/0x84
[&lt;ffffffff8026388c&gt;] meth_tx+0x48/0x43c
[&lt;ffffffff802d3a38&gt;] __qdisc_run+0x150/0x30c
[&lt;ffffffff802c0aa8&gt;] dev_queue_xmit+0x334/0x4b0
[&lt;ffffffff804e7e6c&gt;] ip_auto_config+0x8d0/0xf28
[&lt;ffffffff80012e68&gt;] do_one_initcall+0x58/0x170
[&lt;ffffffff804cd190&gt;] kernel_init+0x98/0x104
[&lt;ffffffff8001520c&gt;] kernel_thread_helper+0x10/0x18

..... timed out!
IP-Config: Retrying forever (NFS root)...
Sending DHCP requests ., OK
[...]

Fixed by converting all locks to irq locks.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Tested-by: Andrew Randrianasulu &lt;randrik_a@yahoo.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>meth: convert to net_device_ops</title>
<updated>2009-04-16T09:20:17+00:00</updated>
<author>
<name>Alexander Beregalov</name>
<email>a.beregalov@gmail.com</email>
</author>
<published>2009-04-15T12:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d53bc2df189f1e11a947eed077f0360bfadf9986'/>
<id>urn:sha1:d53bc2df189f1e11a947eed077f0360bfadf9986</id>
<content type='text'>
Signed-off-by: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>MIPS: Stop using &lt;asm-generic/int-l64.h&gt;.</title>
<updated>2009-03-30T12:49:41+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2009-03-30T12:49:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=12e22e8e60add9e1ccd61509ab7fd6fc1c214c52'/>
<id>urn:sha1:12e22e8e60add9e1ccd61509ab7fd6fc1c214c52</id>
<content type='text'>
This fixes a few warnings - and triggers a few new ones which the rest of
this patch fixes.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>drivers/net: Kill now superfluous -&gt;last_rx stores.</title>
<updated>2008-11-04T05:11:17+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2008-11-04T05:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=babcda74e9d96bb58fd9c6c5112dbdbff169e695'/>
<id>urn:sha1:babcda74e9d96bb58fd9c6c5112dbdbff169e695</id>
<content type='text'>
The generic packet receive code takes care of setting
netdev-&gt;last_rx when necessary, for the sake of the
bonding ARP monitor.

Drivers need not do it any more.

Some cases had to be skipped over because the drivers
were making use of the -&gt;last_rx value themselves.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: convert print_mac to %pM</title>
<updated>2008-10-28T00:06:18+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2008-10-27T22:59:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e174961ca1a0b28f7abf0be47973ad57cb74e5f0'/>
<id>urn:sha1:e174961ca1a0b28f7abf0be47973ad57cb74e5f0</id>
<content type='text'>
This converts pretty much everything to print_mac. There were
a few things that had conflicts which I have just dropped for
now, no harm done.

I've built an allyesconfig with this and looked at the files
that weren't built very carefully, but it's a huge patch.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers/net: replace __FUNCTION__ with __func__</title>
<updated>2008-09-24T22:59:00+00:00</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-08-20T23:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b39d66a81fb4f5ab555f86a2e49f3714f8369a3d'/>
<id>urn:sha1:b39d66a81fb4f5ab555f86a2e49f3714f8369a3d</id>
<content type='text'>
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison &lt;harvey.harrison@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>
</entry>
</feed>
