<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/can, branch linux-3.19.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>can: flexcan: Deferred on Regulator return EPROBE_DEFER</title>
<updated>2015-04-19T08:10:21+00:00</updated>
<author>
<name>Andreas Werner</name>
<email>kernel@andy89.org</email>
</author>
<published>2015-03-22T16:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7781f475043500175217e22bd6ad93995fa6e821'/>
<id>7781f475043500175217e22bd6ad93995fa6e821</id>
<content type='text'>
commit 555828ef45f825d6ee06559f0304163550eed380 upstream.

Return EPROBE_DEFER if Regulator returns EPROBE_DEFER

If the Flexcan driver is built into kernel and a regulator is used to
enable the CAN transceiver, the Flexcan driver may not use the regulator.

When initializing the Flexcan device with a regulator defined in the device
tree, but not initialized, the regulator subsystem returns EPROBE_DEFER, hence
the Flexcan init fails.

The solution for this is to return EPROBE_DEFER if regulator is not initialized
and wait until the regulator is initialized.

Signed-off-by: Andreas Werner &lt;kernel@andy89.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 555828ef45f825d6ee06559f0304163550eed380 upstream.

Return EPROBE_DEFER if Regulator returns EPROBE_DEFER

If the Flexcan driver is built into kernel and a regulator is used to
enable the CAN transceiver, the Flexcan driver may not use the regulator.

When initializing the Flexcan device with a regulator defined in the device
tree, but not initialized, the regulator subsystem returns EPROBE_DEFER, hence
the Flexcan init fails.

The solution for this is to return EPROBE_DEFER if regulator is not initialized
and wait until the regulator is initialized.

Signed-off-by: Andreas Werner &lt;kernel@andy89.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>can: flexcan: fix bus-off error state handling.</title>
<updated>2015-04-19T08:10:21+00:00</updated>
<author>
<name>Andri Yngvason</name>
<email>andri.yngvason@marel.com</email>
</author>
<published>2015-03-17T13:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6e6c9127315087a0535ab0b5e80f174681ed6b61'/>
<id>6e6c9127315087a0535ab0b5e80f174681ed6b61</id>
<content type='text'>
commit 258ce80e19211f06c97a562a71308ec21a9ab98f upstream.

Making sure that the bus-off state gets passed to can_change_state().

Signed-off-by: Andri Yngvason &lt;andri.yngvason@marel.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 258ce80e19211f06c97a562a71308ec21a9ab98f upstream.

Making sure that the bus-off state gets passed to can_change_state().

Signed-off-by: Andri Yngvason &lt;andri.yngvason@marel.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>can: kvaser_usb: Read all messages in a bulk-in URB buffer</title>
<updated>2015-03-26T12:59:41+00:00</updated>
<author>
<name>Ahmed S. Darwish</name>
<email>ahmed.darwish@valeo.com</email>
</author>
<published>2015-02-26T15:22:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=add9df23fcbaff2c77cedb0056ef08159420a1a8'/>
<id>add9df23fcbaff2c77cedb0056ef08159420a1a8</id>
<content type='text'>
commit 2fec5104f9c61de4cf2205aa355101e19a81f490 upstream.

The Kvaser firmware can only read and write messages that are
not crossing the USB endpoint's wMaxPacketSize boundary. While
receiving commands from the CAN device, if the next command in
the same URB buffer crossed that max packet size boundary, the
firmware puts a zero-length placeholder command in its place
then moves the real command to the next boundary mark.

The driver did not recognize such behavior, leading to missing
a good number of rx events during a heavy rx load session.

Moreover, a tx URB context only gets freed upon receiving its
respective tx ACK event. Over time, the free tx URB contexts
pool gets depleted due to the missing ACK events. Consequently,
the netif transmission queue gets __permanently__ stopped; no
frames could be sent again except after restarting the CAN
newtwork interface.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2fec5104f9c61de4cf2205aa355101e19a81f490 upstream.

The Kvaser firmware can only read and write messages that are
not crossing the USB endpoint's wMaxPacketSize boundary. While
receiving commands from the CAN device, if the next command in
the same URB buffer crossed that max packet size boundary, the
firmware puts a zero-length placeholder command in its place
then moves the real command to the next boundary mark.

The driver did not recognize such behavior, leading to missing
a good number of rx events during a heavy rx load session.

Moreover, a tx URB context only gets freed upon receiving its
respective tx ACK event. Over time, the free tx URB contexts
pool gets depleted due to the missing ACK events. Consequently,
the netif transmission queue gets __permanently__ stopped; no
frames could be sent again except after restarting the CAN
newtwork interface.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>can: add missing initialisations in CAN related skbuffs</title>
<updated>2015-03-26T12:59:41+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2015-02-23T19:37:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1db8d02526e3e224c7dc4df2b2cda7cf37a9ae80'/>
<id>1db8d02526e3e224c7dc4df2b2cda7cf37a9ae80</id>
<content type='text'>
commit 969439016d2cf61fef53a973d7e6d2061c3793b1 upstream.

When accessing CAN network interfaces with AF_PACKET sockets e.g. by dhclient
this can lead to a skb_under_panic due to missing skb initialisations.

Add the missing initialisations at the CAN skbuff creation times on driver
level (rx path) and in the network layer (tx path).

Reported-by: Austin Schuh &lt;austin@peloton-tech.com&gt;
Reported-by: Daniel Steer &lt;daniel.steer@mclaren.com&gt;
Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 969439016d2cf61fef53a973d7e6d2061c3793b1 upstream.

When accessing CAN network interfaces with AF_PACKET sockets e.g. by dhclient
this can lead to a skb_under_panic due to missing skb initialisations.

Add the missing initialisations at the CAN skbuff creation times on driver
level (rx path) and in the network layer (tx path).

Reported-by: Austin Schuh &lt;austin@peloton-tech.com&gt;
Reported-by: Daniel Steer &lt;daniel.steer@mclaren.com&gt;
Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>can: kvaser_usb: Fix state handling upon BUS_ERROR events</title>
<updated>2015-01-27T07:55:09+00:00</updated>
<author>
<name>Ahmed S. Darwish</name>
<email>ahmed.darwish@valeo.com</email>
</author>
<published>2015-01-26T05:25:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e638642b08c170d2021b706f0b1c4f4ae93d8cbd'/>
<id>e638642b08c170d2021b706f0b1c4f4ae93d8cbd</id>
<content type='text'>
While being in an ERROR_WARNING state, and receiving further
bus error events with error counters still in the ERROR_WARNING
range of 97-127 inclusive, the state handling code erroneously
reverts back to ERROR_ACTIVE.

Per the CAN standard, only revert to ERROR_ACTIVE when the
error counters are less than 96.

Moreover, in certain Kvaser models, the BUS_ERROR flag is
always set along with undefined bits in the M16C status
register. Thus use bitwise operators instead of full equality
for checking that register against bus errors.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While being in an ERROR_WARNING state, and receiving further
bus error events with error counters still in the ERROR_WARNING
range of 97-127 inclusive, the state handling code erroneously
reverts back to ERROR_ACTIVE.

Per the CAN standard, only revert to ERROR_ACTIVE when the
error counters are less than 96.

Moreover, in certain Kvaser models, the BUS_ERROR flag is
always set along with undefined bits in the M16C status
register. Thus use bitwise operators instead of full equality
for checking that register against bus errors.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: kvaser_usb: Retry the first bulk transfer on -ETIMEDOUT</title>
<updated>2015-01-27T07:55:09+00:00</updated>
<author>
<name>Ahmed S. Darwish</name>
<email>ahmed.darwish@valeo.com</email>
</author>
<published>2015-01-26T05:24:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=14c10c2a1dd8eb8e00b750b521753260befa2789'/>
<id>14c10c2a1dd8eb8e00b750b521753260befa2789</id>
<content type='text'>
On some x86 laptops, plugging a Kvaser device again after an
unplug makes the firmware always ignore the very first command.
For such a case, provide some room for retries instead of
completely exiting the driver init code.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On some x86 laptops, plugging a Kvaser device again after an
unplug makes the firmware always ignore the very first command.
For such a case, provide some room for retries instead of
completely exiting the driver init code.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: kvaser_usb: Send correct context to URB completion</title>
<updated>2015-01-27T07:55:08+00:00</updated>
<author>
<name>Ahmed S. Darwish</name>
<email>ahmed.darwish@valeo.com</email>
</author>
<published>2015-01-26T05:22:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3803fa6977f1de15fda4e8646c8fec97c8045cae'/>
<id>3803fa6977f1de15fda4e8646c8fec97c8045cae</id>
<content type='text'>
Send expected argument to the URB completion hander: a CAN
netdevice instead of the network interface private context
`kvaser_usb_net_priv'.

This was discovered by having some garbage in the kernel
log in place of the netdevice names: can0 and can1.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Send expected argument to the URB completion hander: a CAN
netdevice instead of the network interface private context
`kvaser_usb_net_priv'.

This was discovered by having some garbage in the kernel
log in place of the netdevice names: can0 and can1.

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: kvaser_usb: Do not sleep in atomic context</title>
<updated>2015-01-27T07:55:08+00:00</updated>
<author>
<name>Ahmed S. Darwish</name>
<email>ahmed.darwish@valeo.com</email>
</author>
<published>2015-01-26T05:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ded5006667318c06df875609535176bd33f243a1'/>
<id>ded5006667318c06df875609535176bd33f243a1</id>
<content type='text'>
Upon receiving a hardware event with the BUS_RESET flag set,
the driver kills all of its anchored URBs and resets all of
its transmit URB contexts.

Unfortunately it does so under the context of URB completion
handler `kvaser_usb_read_bulk_callback()', which is often
called in an atomic context.

While the device is flooded with many received error packets,
usb_kill_urb() typically sleeps/reschedules till the transfer
request of each killed URB in question completes, leading to
the sleep in atomic bug. [3]

In v2 submission of the original driver patch [1], it was
stated that the URBs kill and tx contexts reset was needed
since we don't receive any tx acknowledgments later and thus
such resources will be locked down forever. Fortunately this
is no longer needed since an earlier bugfix in this patch
series is now applied: all tx URB contexts are reset upon CAN
channel close. [2]

Moreover, a BUS_RESET is now treated _exactly_ like a BUS_OFF
event, which is the recommended handling method advised by
the device manufacturer.

[1] http://article.gmane.org/gmane.linux.network/239442
    http://www.webcitation.org/6Vr2yagAQ

[2] can: kvaser_usb: Reset all URB tx contexts upon channel close
    889b77f7fd2bcc922493d73a4c51d8a851505815

[3] Stacktrace:

 &lt;IRQ&gt;  [&lt;ffffffff8158de87&gt;] dump_stack+0x45/0x57
 [&lt;ffffffff8158b60c&gt;] __schedule_bug+0x41/0x4f
 [&lt;ffffffff815904b1&gt;] __schedule+0x5f1/0x700
 [&lt;ffffffff8159360a&gt;] ? _raw_spin_unlock_irqrestore+0xa/0x10
 [&lt;ffffffff81590684&gt;] schedule+0x24/0x70
 [&lt;ffffffff8147d0a5&gt;] usb_kill_urb+0x65/0xa0
 [&lt;ffffffff81077970&gt;] ? prepare_to_wait_event+0x110/0x110
 [&lt;ffffffff8147d7d8&gt;] usb_kill_anchored_urbs+0x48/0x80
 [&lt;ffffffffa01f4028&gt;] kvaser_usb_unlink_tx_urbs+0x18/0x50 [kvaser_usb]
 [&lt;ffffffffa01f45d0&gt;] kvaser_usb_rx_error+0xc0/0x400 [kvaser_usb]
 [&lt;ffffffff8108b14a&gt;] ? vprintk_default+0x1a/0x20
 [&lt;ffffffffa01f5241&gt;] kvaser_usb_read_bulk_callback+0x4c1/0x5f0 [kvaser_usb]
 [&lt;ffffffff8147a73e&gt;] __usb_hcd_giveback_urb+0x5e/0xc0
 [&lt;ffffffff8147a8a1&gt;] usb_hcd_giveback_urb+0x41/0x110
 [&lt;ffffffffa0008748&gt;] finish_urb+0x98/0x180 [ohci_hcd]
 [&lt;ffffffff810cd1a7&gt;] ? acct_account_cputime+0x17/0x20
 [&lt;ffffffff81069f65&gt;] ? local_clock+0x15/0x30
 [&lt;ffffffffa000a36b&gt;] ohci_work+0x1fb/0x5a0 [ohci_hcd]
 [&lt;ffffffff814fbb31&gt;] ? process_backlog+0xb1/0x130
 [&lt;ffffffffa000cd5b&gt;] ohci_irq+0xeb/0x270 [ohci_hcd]
 [&lt;ffffffff81479fc1&gt;] usb_hcd_irq+0x21/0x30
 [&lt;ffffffff8108bfd3&gt;] handle_irq_event_percpu+0x43/0x120
 [&lt;ffffffff8108c0ed&gt;] handle_irq_event+0x3d/0x60
 [&lt;ffffffff8108ec84&gt;] handle_fasteoi_irq+0x74/0x110
 [&lt;ffffffff81004dfd&gt;] handle_irq+0x1d/0x30
 [&lt;ffffffff81004727&gt;] do_IRQ+0x57/0x100
 [&lt;ffffffff8159482a&gt;] common_interrupt+0x6a/0x6a

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Upon receiving a hardware event with the BUS_RESET flag set,
the driver kills all of its anchored URBs and resets all of
its transmit URB contexts.

Unfortunately it does so under the context of URB completion
handler `kvaser_usb_read_bulk_callback()', which is often
called in an atomic context.

While the device is flooded with many received error packets,
usb_kill_urb() typically sleeps/reschedules till the transfer
request of each killed URB in question completes, leading to
the sleep in atomic bug. [3]

In v2 submission of the original driver patch [1], it was
stated that the URBs kill and tx contexts reset was needed
since we don't receive any tx acknowledgments later and thus
such resources will be locked down forever. Fortunately this
is no longer needed since an earlier bugfix in this patch
series is now applied: all tx URB contexts are reset upon CAN
channel close. [2]

Moreover, a BUS_RESET is now treated _exactly_ like a BUS_OFF
event, which is the recommended handling method advised by
the device manufacturer.

[1] http://article.gmane.org/gmane.linux.network/239442
    http://www.webcitation.org/6Vr2yagAQ

[2] can: kvaser_usb: Reset all URB tx contexts upon channel close
    889b77f7fd2bcc922493d73a4c51d8a851505815

[3] Stacktrace:

 &lt;IRQ&gt;  [&lt;ffffffff8158de87&gt;] dump_stack+0x45/0x57
 [&lt;ffffffff8158b60c&gt;] __schedule_bug+0x41/0x4f
 [&lt;ffffffff815904b1&gt;] __schedule+0x5f1/0x700
 [&lt;ffffffff8159360a&gt;] ? _raw_spin_unlock_irqrestore+0xa/0x10
 [&lt;ffffffff81590684&gt;] schedule+0x24/0x70
 [&lt;ffffffff8147d0a5&gt;] usb_kill_urb+0x65/0xa0
 [&lt;ffffffff81077970&gt;] ? prepare_to_wait_event+0x110/0x110
 [&lt;ffffffff8147d7d8&gt;] usb_kill_anchored_urbs+0x48/0x80
 [&lt;ffffffffa01f4028&gt;] kvaser_usb_unlink_tx_urbs+0x18/0x50 [kvaser_usb]
 [&lt;ffffffffa01f45d0&gt;] kvaser_usb_rx_error+0xc0/0x400 [kvaser_usb]
 [&lt;ffffffff8108b14a&gt;] ? vprintk_default+0x1a/0x20
 [&lt;ffffffffa01f5241&gt;] kvaser_usb_read_bulk_callback+0x4c1/0x5f0 [kvaser_usb]
 [&lt;ffffffff8147a73e&gt;] __usb_hcd_giveback_urb+0x5e/0xc0
 [&lt;ffffffff8147a8a1&gt;] usb_hcd_giveback_urb+0x41/0x110
 [&lt;ffffffffa0008748&gt;] finish_urb+0x98/0x180 [ohci_hcd]
 [&lt;ffffffff810cd1a7&gt;] ? acct_account_cputime+0x17/0x20
 [&lt;ffffffff81069f65&gt;] ? local_clock+0x15/0x30
 [&lt;ffffffffa000a36b&gt;] ohci_work+0x1fb/0x5a0 [ohci_hcd]
 [&lt;ffffffff814fbb31&gt;] ? process_backlog+0xb1/0x130
 [&lt;ffffffffa000cd5b&gt;] ohci_irq+0xeb/0x270 [ohci_hcd]
 [&lt;ffffffff81479fc1&gt;] usb_hcd_irq+0x21/0x30
 [&lt;ffffffff8108bfd3&gt;] handle_irq_event_percpu+0x43/0x120
 [&lt;ffffffff8108c0ed&gt;] handle_irq_event+0x3d/0x60
 [&lt;ffffffff8108ec84&gt;] handle_fasteoi_irq+0x74/0x110
 [&lt;ffffffff81004dfd&gt;] handle_irq+0x1d/0x30
 [&lt;ffffffff81004727&gt;] do_IRQ+0x57/0x100
 [&lt;ffffffff8159482a&gt;] common_interrupt+0x6a/0x6a

Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: c_can: end pending transmission on network stop (ifdown)</title>
<updated>2015-01-21T21:43:14+00:00</updated>
<author>
<name>Viktor Babrian</name>
<email>babrian.viktor@renyi.mta.hu</email>
</author>
<published>2015-01-18T19:01:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7ffd7b4e169d619e66928fe5d997723f2c6f1056'/>
<id>7ffd7b4e169d619e66928fe5d997723f2c6f1056</id>
<content type='text'>
Put controller into init mode in network stop to end pending transmissions. The
issue is observed in cases when transmitted frame is not acked.

Signed-off-by: Viktor Babrian &lt;babrian.viktor@renyi.mta.hu&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Put controller into init mode in network stop to end pending transmissions. The
issue is observed in cases when transmitted frame is not acked.

Signed-off-by: Viktor Babrian &lt;babrian.viktor@renyi.mta.hu&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: kvaser_usb: Don't dereference skb after a netif_rx()</title>
<updated>2015-01-15T15:58:02+00:00</updated>
<author>
<name>Ahmed S. Darwish</name>
<email>ahmed.darwish@valeo.com</email>
</author>
<published>2015-01-11T20:49:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a58518ccf39f86f898a65201518dd8e799b3abeb'/>
<id>a58518ccf39f86f898a65201518dd8e799b3abeb</id>
<content type='text'>
We should not touch the packet after a netif_rx: it might
get freed behind our back.

Suggested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should not touch the packet after a netif_rx: it might
get freed behind our back.

Suggested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Ahmed S. Darwish &lt;ahmed.darwish@valeo.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
