<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/arcnet/arcnet.c, branch v5.3</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>drivers/net: arcnet: Convert timers to use timer_setup()</title>
<updated>2017-10-27T03:09:16+00:00</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2017-10-25T10:54:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c58320de5194b57858b829b8f204ca6bc1e38e10'/>
<id>c58320de5194b57858b829b8f204ca6bc1e38e10</id>
<content type='text'>
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook &lt;keescook@chromium.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>
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: net: arcnet: use setup_timer() helper.</title>
<updated>2017-09-21T18:44:42+00:00</updated>
<author>
<name>Allen Pais</name>
<email>allen.lkml@gmail.com</email>
</author>
<published>2017-09-21T17:04:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fe9bfe207e200f901361681bf1497386068f1df2'/>
<id>fe9bfe207e200f901361681bf1497386068f1df2</id>
<content type='text'>
Use setup_timer function instead of initializing timer with the
    function and data fields.

Signed-off-by: Allen Pais &lt;allen.lkml@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>
Use setup_timer function instead of initializing timer with the
    function and data fields.

Signed-off-by: Allen Pais &lt;allen.lkml@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2017-06-30T16:43:08+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2017-06-30T16:43:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b07911593719828cac023bdcf6bf4da1c9ba546f'/>
<id>b07911593719828cac023bdcf6bf4da1c9ba546f</id>
<content type='text'>
A set of overlapping changes in macvlan and the rocker
driver, nothing serious.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A set of overlapping changes in macvlan and the rocker
driver, nothing serious.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: add err_skb package for package status feedback</title>
<updated>2017-06-29T19:26:13+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2017-06-28T16:32:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=05fcd31cc472c5da6416d3bc2ab25599bbb9331f'/>
<id>05fcd31cc472c5da6416d3bc2ab25599bbb9331f</id>
<content type='text'>
We need to track the status of our queued packages. This way the driving
process knows if failed packages need to be retransmitted. For this
purpose we queue the transferred/failed packages back into the err_skb
message queue added with some status information.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&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>
We need to track the status of our queued packages. This way the driving
process knows if failed packages need to be retransmitted. For this
purpose we queue the transferred/failed packages back into the err_skb
message queue added with some status information.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: change irq handler to lock irqsave</title>
<updated>2017-06-29T19:18:35+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2017-06-28T16:28:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5b85840320151f61e04d83a23ef2567a07094503'/>
<id>5b85840320151f61e04d83a23ef2567a07094503</id>
<content type='text'>
This patch prevents the arcnet driver from the following deadlock.

[   41.273910] ======================================================
[   41.280397] [ INFO: SOFTIRQ-safe -&gt; SOFTIRQ-unsafe lock order detected ]
[   41.287433] 4.4.0-00034-gc0ae784 #536 Not tainted
[   41.292366] ------------------------------------------------------
[   41.298863] arcecho/233 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:
[   41.305628]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}, at: [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.315199]
[   41.315199] and this task is already holding:
[   41.321324]  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.329593] which would create a new lock dependency:
[   41.334893]  (_xmit_ARCNET#2){+.-...} -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
[   41.341801]
[   41.341801] but this new dependency connects a SOFTIRQ-irq-safe lock:
[   41.350108]  (_xmit_ARCNET#2){+.-...}
... which became SOFTIRQ-irq-safe at:
[   41.357539]   [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.362677]   [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.367723]   [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.372759]   [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.378340]   [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.383469]   [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.388138]   [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.393728]   [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.398402]   [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.403443]   [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.409029]   [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.414170]
[   41.414170] to a SOFTIRQ-irq-unsafe lock:
[   41.419931]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
... which became SOFTIRQ-irq-unsafe at:
[   41.427996] ...  [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.433409]   [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.439646]   [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.445063]   [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.450661]   [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.455700]   [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.460649]   [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.465158]   [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.470207]
[   41.470207] other info that might help us debug this:
[   41.470207]
[   41.478627]  Possible interrupt unsafe locking scenario:
[   41.478627]
[   41.485763]        CPU0                    CPU1
[   41.490521]        ----                    ----
[   41.495279]   lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.499414]                                local_irq_disable();
[   41.505636]                                lock(_xmit_ARCNET#2);
[   41.511967]                                lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.518741]   &lt;Interrupt&gt;
[   41.521490]     lock(_xmit_ARCNET#2);
[   41.525356]
[   41.525356]  *** DEADLOCK ***
[   41.525356]
[   41.531587] 1 lock held by arcecho/233:
[   41.535617]  #0:  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.544355]
the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
[   41.552362] -&gt; (_xmit_ARCNET#2){+.-...} ops: 27 {
[   41.557357]    HARDIRQ-ON-W at:
[   41.560664]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.567445]                     [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.574866]                     [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.581646]                     [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.588613]                     [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.596120]                     [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.602991]                     [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.610131]                     [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.616912]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.623048]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.629735]    IN-SOFTIRQ-W at:
[   41.633039]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.639820]                     [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.646508]                     [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.653190]                     [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.660425]                     [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.667201]                     [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.673518]                     [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.680754]                     [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.687077]                     [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.693769]                     [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.701006]                     [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.707791]    INITIAL USE at:
[   41.711003]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.717696]                    [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.725026]                    [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.731718]                    [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.738593]                    [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.746011]                    [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.752789]                    [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.759847]                    [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.766541]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.772596]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.779198]  }
[   41.780945]  ... key      at: [&lt;c124d620&gt;] netdev_xmit_lock_key+0x38/0x1c8
[   41.788192]  ... acquired at:
[   41.791309]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   41.796361]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   41.802324]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.808844]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   41.814622]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   41.820034]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   41.825091]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   41.829956]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   41.834638]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   41.839954]
[   41.841514]
the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
[   41.850302] -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...} ops: 5 {
[   41.855644]    HARDIRQ-ON-W at:
[   41.858945]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.865726]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.873607]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.880666]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.887901]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.894593]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.901195]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.907338]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.914025]    SOFTIRQ-ON-W at:
[   41.917328]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.924106]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.931981]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.939028]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.946264]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.952954]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.959548]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.965689]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.972379]    INITIAL USE at:
[   41.975595]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.982283]                    [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.990063]                    [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.997027]                    [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   42.004172]                    [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   42.010766]                    [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   42.017267]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   42.023314]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   42.029903]  }
[   42.031648]  ... key      at: [&lt;bf0854cc&gt;] __key.42091+0x0/0xfffff0f8 [arcnet]
[   42.039255]  ... acquired at:
[   42.042372]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   42.047413]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   42.053364]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   42.059872]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   42.065634]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   42.071030]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   42.076069]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   42.080926]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   42.085601]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   42.090918]
[   42.092481]
[   42.092481] stack backtrace:
[   42.097065] CPU: 0 PID: 233 Comm: arcecho Not tainted 4.4.0-00034-gc0ae784 #536
[   42.104751] Hardware name: Generic AM33XX (Flattened Device Tree)
[   42.111183] [&lt;c0017ec8&gt;] (unwind_backtrace) from [&lt;c00139d0&gt;] (show_stack+0x10/0x14)
[   42.119337] [&lt;c00139d0&gt;] (show_stack) from [&lt;c02a82c4&gt;] (dump_stack+0x8c/0x9c)
[   42.126937] [&lt;c02a82c4&gt;] (dump_stack) from [&lt;c0078260&gt;] (check_usage+0x4bc/0x63c)
[   42.134815] [&lt;c0078260&gt;] (check_usage) from [&lt;c0078438&gt;] (check_irq_usage+0x58/0xb0)
[   42.142964] [&lt;c0078438&gt;] (check_irq_usage) from [&lt;c007aaa0&gt;] (__lock_acquire+0x1524/0x20b0)
[   42.151740] [&lt;c007aaa0&gt;] (__lock_acquire) from [&lt;c007bed8&gt;] (lock_acquire+0x70/0x90)
[   42.159886] [&lt;c007bed8&gt;] (lock_acquire) from [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave+0x40/0x54)
[   42.168768] [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave) from [&lt;bf083bc8&gt;] (arcnet_send_packet+0x60/0x1c0 [arcnet])
[   42.179115] [&lt;bf083bc8&gt;] (arcnet_send_packet [arcnet]) from [&lt;c06b9380&gt;] (packet_direct_xmit+0x130/0x1c8)
[   42.189182] [&lt;c06b9380&gt;] (packet_direct_xmit) from [&lt;c06bc7e4&gt;] (packet_sendmsg+0x3b8/0x680)
[   42.198059] [&lt;c06bc7e4&gt;] (packet_sendmsg) from [&lt;c05fe8b0&gt;] (sock_sendmsg+0x14/0x24)
[   42.206199] [&lt;c05fe8b0&gt;] (sock_sendmsg) from [&lt;c05ffd68&gt;] (SyS_sendto+0xb8/0xe0)
[   42.213978] [&lt;c05ffd68&gt;] (SyS_sendto) from [&lt;c05ffda8&gt;] (SyS_send+0x18/0x20)
[   42.221388] [&lt;c05ffda8&gt;] (SyS_send) from [&lt;c000f780&gt;] (ret_fast_syscall+0x0/0x1c)

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;

   ---
   v1 -&gt; v2: removed unneeded zero assignment of flags
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 prevents the arcnet driver from the following deadlock.

[   41.273910] ======================================================
[   41.280397] [ INFO: SOFTIRQ-safe -&gt; SOFTIRQ-unsafe lock order detected ]
[   41.287433] 4.4.0-00034-gc0ae784 #536 Not tainted
[   41.292366] ------------------------------------------------------
[   41.298863] arcecho/233 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:
[   41.305628]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}, at: [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.315199]
[   41.315199] and this task is already holding:
[   41.321324]  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.329593] which would create a new lock dependency:
[   41.334893]  (_xmit_ARCNET#2){+.-...} -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
[   41.341801]
[   41.341801] but this new dependency connects a SOFTIRQ-irq-safe lock:
[   41.350108]  (_xmit_ARCNET#2){+.-...}
... which became SOFTIRQ-irq-safe at:
[   41.357539]   [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.362677]   [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.367723]   [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.372759]   [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.378340]   [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.383469]   [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.388138]   [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.393728]   [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.398402]   [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.403443]   [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.409029]   [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.414170]
[   41.414170] to a SOFTIRQ-irq-unsafe lock:
[   41.419931]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
... which became SOFTIRQ-irq-unsafe at:
[   41.427996] ...  [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.433409]   [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.439646]   [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.445063]   [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.450661]   [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.455700]   [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.460649]   [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.465158]   [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.470207]
[   41.470207] other info that might help us debug this:
[   41.470207]
[   41.478627]  Possible interrupt unsafe locking scenario:
[   41.478627]
[   41.485763]        CPU0                    CPU1
[   41.490521]        ----                    ----
[   41.495279]   lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.499414]                                local_irq_disable();
[   41.505636]                                lock(_xmit_ARCNET#2);
[   41.511967]                                lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.518741]   &lt;Interrupt&gt;
[   41.521490]     lock(_xmit_ARCNET#2);
[   41.525356]
[   41.525356]  *** DEADLOCK ***
[   41.525356]
[   41.531587] 1 lock held by arcecho/233:
[   41.535617]  #0:  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.544355]
the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
[   41.552362] -&gt; (_xmit_ARCNET#2){+.-...} ops: 27 {
[   41.557357]    HARDIRQ-ON-W at:
[   41.560664]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.567445]                     [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.574866]                     [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.581646]                     [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.588613]                     [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.596120]                     [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.602991]                     [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.610131]                     [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.616912]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.623048]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.629735]    IN-SOFTIRQ-W at:
[   41.633039]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.639820]                     [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.646508]                     [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.653190]                     [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.660425]                     [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.667201]                     [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.673518]                     [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.680754]                     [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.687077]                     [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.693769]                     [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.701006]                     [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.707791]    INITIAL USE at:
[   41.711003]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.717696]                    [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.725026]                    [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.731718]                    [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.738593]                    [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.746011]                    [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.752789]                    [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.759847]                    [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.766541]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.772596]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.779198]  }
[   41.780945]  ... key      at: [&lt;c124d620&gt;] netdev_xmit_lock_key+0x38/0x1c8
[   41.788192]  ... acquired at:
[   41.791309]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   41.796361]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   41.802324]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.808844]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   41.814622]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   41.820034]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   41.825091]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   41.829956]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   41.834638]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   41.839954]
[   41.841514]
the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
[   41.850302] -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...} ops: 5 {
[   41.855644]    HARDIRQ-ON-W at:
[   41.858945]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.865726]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.873607]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.880666]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.887901]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.894593]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.901195]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.907338]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.914025]    SOFTIRQ-ON-W at:
[   41.917328]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.924106]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.931981]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.939028]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.946264]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.952954]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.959548]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.965689]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.972379]    INITIAL USE at:
[   41.975595]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.982283]                    [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.990063]                    [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.997027]                    [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   42.004172]                    [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   42.010766]                    [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   42.017267]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   42.023314]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   42.029903]  }
[   42.031648]  ... key      at: [&lt;bf0854cc&gt;] __key.42091+0x0/0xfffff0f8 [arcnet]
[   42.039255]  ... acquired at:
[   42.042372]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   42.047413]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   42.053364]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   42.059872]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   42.065634]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   42.071030]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   42.076069]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   42.080926]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   42.085601]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   42.090918]
[   42.092481]
[   42.092481] stack backtrace:
[   42.097065] CPU: 0 PID: 233 Comm: arcecho Not tainted 4.4.0-00034-gc0ae784 #536
[   42.104751] Hardware name: Generic AM33XX (Flattened Device Tree)
[   42.111183] [&lt;c0017ec8&gt;] (unwind_backtrace) from [&lt;c00139d0&gt;] (show_stack+0x10/0x14)
[   42.119337] [&lt;c00139d0&gt;] (show_stack) from [&lt;c02a82c4&gt;] (dump_stack+0x8c/0x9c)
[   42.126937] [&lt;c02a82c4&gt;] (dump_stack) from [&lt;c0078260&gt;] (check_usage+0x4bc/0x63c)
[   42.134815] [&lt;c0078260&gt;] (check_usage) from [&lt;c0078438&gt;] (check_irq_usage+0x58/0xb0)
[   42.142964] [&lt;c0078438&gt;] (check_irq_usage) from [&lt;c007aaa0&gt;] (__lock_acquire+0x1524/0x20b0)
[   42.151740] [&lt;c007aaa0&gt;] (__lock_acquire) from [&lt;c007bed8&gt;] (lock_acquire+0x70/0x90)
[   42.159886] [&lt;c007bed8&gt;] (lock_acquire) from [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave+0x40/0x54)
[   42.168768] [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave) from [&lt;bf083bc8&gt;] (arcnet_send_packet+0x60/0x1c0 [arcnet])
[   42.179115] [&lt;bf083bc8&gt;] (arcnet_send_packet [arcnet]) from [&lt;c06b9380&gt;] (packet_direct_xmit+0x130/0x1c8)
[   42.189182] [&lt;c06b9380&gt;] (packet_direct_xmit) from [&lt;c06bc7e4&gt;] (packet_sendmsg+0x3b8/0x680)
[   42.198059] [&lt;c06bc7e4&gt;] (packet_sendmsg) from [&lt;c05fe8b0&gt;] (sock_sendmsg+0x14/0x24)
[   42.206199] [&lt;c05fe8b0&gt;] (sock_sendmsg) from [&lt;c05ffd68&gt;] (SyS_sendto+0xb8/0xe0)
[   42.213978] [&lt;c05ffd68&gt;] (SyS_sendto) from [&lt;c05ffda8&gt;] (SyS_send+0x18/0x20)
[   42.221388] [&lt;c05ffda8&gt;] (SyS_send) from [&lt;c000f780&gt;] (ret_fast_syscall+0x0/0x1c)

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;

   ---
   v1 -&gt; v2: removed unneeded zero assignment of flags
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/vsprintf.c: remove %Z support</title>
<updated>2017-02-28T02:43:47+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2017-02-27T22:30:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5b5e0928f742cfa853b2411400a1b19fa379d758'/>
<id>5b5e0928f742cfa853b2411400a1b19fa379d758</id>
<content type='text'>
Now that %z is standartised in C99 there is no reason to support %Z.
Unlike %L it doesn't even make format strings smaller.

Use BUILD_BUG_ON in a couple ATM drivers.

In case anyone didn't notice lib/vsprintf.o is about half of SLUB which
is in my opinion is quite an achievement.  Hopefully this patch inspires
someone else to trim vsprintf.c more.

Link: http://lkml.kernel.org/r/20170103230126.GA30170@avx2
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Cc: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that %z is standartised in C99 there is no reason to support %Z.
Unlike %L it doesn't even make format strings smaller.

Use BUILD_BUG_ON in a couple ATM drivers.

In case anyone didn't notice lib/vsprintf.o is about half of SLUB which
is in my opinion is quite an achievement.  Hopefully this patch inspires
someone else to trim vsprintf.c more.

Link: http://lkml.kernel.org/r/20170103230126.GA30170@avx2
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Cc: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: add netif_carrier_on/off for reconnect</title>
<updated>2015-10-26T08:10:56+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2015-09-16T08:15:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=59fbcbc61e1f0fd9acdf3efb09faca0320049718'/>
<id>59fbcbc61e1f0fd9acdf3efb09faca0320049718</id>
<content type='text'>
The arcnet device has no interrupt to detect if the link has changed
from disconnected to connected. This patch adds an timer to toggle the
link detection. The timer will get retriggered as long as the
reconnection interrupts accure. If the recon interrupts hold off
for &gt;1s we define the connection stable again.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The arcnet device has no interrupt to detect if the link has changed
from disconnected to connected. This patch adds an timer to toggle the
link detection. The timer will get retriggered as long as the
reconnection interrupts accure. If the recon interrupts hold off
for &gt;1s we define the connection stable again.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: com20020-pci: add led trigger support</title>
<updated>2015-10-26T08:10:56+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2014-09-17T22:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8890624a4e8c2c7046d63bfd15d7331af9f55f10'/>
<id>8890624a4e8c2c7046d63bfd15d7331af9f55f10</id>
<content type='text'>
The EAE PLX-PCI card has special leds on the the main io pci resource
bar. This patch adds support to trigger the conflict and data leds with
the packages.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The EAE PLX-PCI card has special leds on the the main io pci resource
bar. This patch adds support to trigger the conflict and data leds with
the packages.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: move dev_free_skb to its only user</title>
<updated>2015-10-26T08:10:56+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2015-04-22T14:41:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b82de0e28ccac15e1a0c3b4f6f20dfd230049041'/>
<id>b82de0e28ccac15e1a0c3b4f6f20dfd230049041</id>
<content type='text'>
The call for dev_free_skb is done only once. This patch
moves its call to its only user and removes the obsolete
condition variable.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The call for dev_free_skb is done only once. This patch
moves its call to its only user and removes the obsolete
condition variable.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-09-26T23:08:27+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-09-26T23:08:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4963ed48f2c20196d51a447ee87dc2815584fee4'/>
<id>4963ed48f2c20196d51a447ee87dc2815584fee4</id>
<content type='text'>
Conflicts:
	net/ipv4/arp.c

The net/ipv4/arp.c conflict was one commit adding a new
local variable while another commit was deleting one.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	net/ipv4/arp.c

The net/ipv4/arp.c conflict was one commit adding a new
local variable while another commit was deleting one.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
