<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/meth.c, branch v2.6.31</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<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.tavy.me/linux.git/commit/?id=bb803cfbecb03a0cf8dc7e1864f18dda6631af00'/>
<id>bb803cfbecb03a0cf8dc7e1864f18dda6631af00</id>
<content type='text'>
Conflicts:
	drivers/scsi/fcoe/fcoe.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/scsi/fcoe/fcoe.c
</pre>
</div>
</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.tavy.me/linux.git/commit/?id=a8f492c6ac6072d6c5bce4b2f13dc44612991051'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</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.tavy.me/linux.git/commit/?id=d53bc2df189f1e11a947eed077f0360bfadf9986'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</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.tavy.me/linux.git/commit/?id=12e22e8e60add9e1ccd61509ab7fd6fc1c214c52'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</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.tavy.me/linux.git/commit/?id=babcda74e9d96bb58fd9c6c5112dbdbff169e695'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</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.tavy.me/linux.git/commit/?id=e174961ca1a0b28f7abf0be47973ad57cb74e5f0'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</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.tavy.me/linux.git/commit/?id=b39d66a81fb4f5ab555f86a2e49f3714f8369a3d'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
__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;
</pre>
</div>
</content>
</entry>
<entry>
<title>METH: fix MAC address setup</title>
<updated>2008-08-07T06:11:19+00:00</updated>
<author>
<name>Thomas Bogendoerfer</name>
<email>tsbogend@alpha.franken.de</email>
</author>
<published>2008-07-30T23:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d91d4bb9db4a7b2a78accff3560bfd42988c56e4'/>
<id>d91d4bb9db4a7b2a78accff3560bfd42988c56e4</id>
<content type='text'>
Setup of the mac filter lost the upper 16bit of the mac address. This
bug got unconvered by a patch, which fixed the promiscous handling.

Signed-off-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.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>
Setup of the mac filter lost the upper 16bit of the mac address. This
bug got unconvered by a patch, which fixed the promiscous handling.

Signed-off-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo in meth driver</title>
<updated>2008-07-22T23:34:21+00:00</updated>
<author>
<name>Christoph Lameter</name>
<email>cl@linux-foundation.org</email>
</author>
<published>2008-07-11T21:12:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=cdc18a670923d01a762d66be582bfe763772d441'/>
<id>cdc18a670923d01a762d66be582bfe763772d441</id>
<content type='text'>
An | in an if statement to check a bit? I think this needs to be a &amp;.
As a result of this typo meth will always operate in promiscuous mode.

Signed-off-by: Christoph Lameter &lt;cl@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>
An | in an if statement to check a bit? I think this needs to be a &amp;.
As a result of this typo meth will always operate in promiscuous mode.

Signed-off-by: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net drivers: fix platform driver hotplug/coldplug</title>
<updated>2008-04-25T06:08:54+00:00</updated>
<author>
<name>Kay Sievers</name>
<email>kay.sievers@vrfy.org</email>
</author>
<published>2008-04-18T20:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=72abb46101fb5c47a9592914adb221b430ff26bd'/>
<id>72abb46101fb5c47a9592914adb221b430ff26bd</id>
<content type='text'>
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:".  Add MODULE_ALIAS() to the hotpluggable network
platform drivers, to re-enable auto loading.

NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support.
That looks problematic in the first place (it even uses the ancient "struct
device_driver" binding scheme for platform_bus!) and I suspect it will vanish
soonish when arch/powerpc rules the world.  Also, drivers/net/ne.c would have
needed more thought to sort out.

[akpm@linux-foundation.org: fix sgiseeq.c]
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Cc: Scott Wood &lt;scottwood@freescale.com&gt;
Cc: Vitaly Bordug &lt;vitb@kernel.crashing.org&gt;
Cc: Dale Farnsworth &lt;dale@farnsworth.org&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Andrew Victor &lt;andrew@sanpeople.com&gt;
Cc: Bryan Wu &lt;bryan.wu@analog.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>
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:".  Add MODULE_ALIAS() to the hotpluggable network
platform drivers, to re-enable auto loading.

NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support.
That looks problematic in the first place (it even uses the ancient "struct
device_driver" binding scheme for platform_bus!) and I suspect it will vanish
soonish when arch/powerpc rules the world.  Also, drivers/net/ne.c would have
needed more thought to sort out.

[akpm@linux-foundation.org: fix sgiseeq.c]
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Cc: Scott Wood &lt;scottwood@freescale.com&gt;
Cc: Vitaly Bordug &lt;vitb@kernel.crashing.org&gt;
Cc: Dale Farnsworth &lt;dale@farnsworth.org&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Andrew Victor &lt;andrew@sanpeople.com&gt;
Cc: Bryan Wu &lt;bryan.wu@analog.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>
</feed>
