<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/can, branch v3.10.33</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/net/can?h=v3.10.33</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/net/can?h=v3.10.33'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-03-07T05:30:10Z</updated>
<entry>
<title>can: kvaser_usb: check number of channels returned by HW</title>
<updated>2014-03-07T05:30:10Z</updated>
<author>
<name>Olivier Sobrie</name>
<email>olivier@sobrie.be</email>
</author>
<published>2014-02-11T10:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2551dadbe3a4c652d544068c64b540162ffba27b'/>
<id>urn:sha1:2551dadbe3a4c652d544068c64b540162ffba27b</id>
<content type='text'>
commit 862474f8b46f6c1e600d4934e40ba40646c696ec upstream.

It is needed to check the number of channels returned by the HW because it
cannot be greater than MAX_NET_DEVICES otherwise it will crash.

Signed-off-by: Olivier Sobrie &lt;olivier@sobrie.be&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>can: add destructor for self generated skbs</title>
<updated>2014-03-07T05:30:03Z</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2014-01-30T09:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8e88041811392a2d9ea989d6dc4a0430bf134700'/>
<id>urn:sha1:8e88041811392a2d9ea989d6dc4a0430bf134700</id>
<content type='text'>
[ Upstream commit 0ae89beb283a0db5980d1d4781c7d7be2f2810d6 ]

Self generated skbuffs in net/can/bcm.c are setting a skb-&gt;sk reference but
no explicit destructor which is enforced since Linux 3.11 with commit
376c7311bdb6 (net: add a temporary sanity check in skb_orphan()).

This patch adds some helper functions to make sure that a destructor is
properly defined when a sock reference is assigned to a CAN related skb.
To create an unshared skb owned by the original sock a common helper function
has been introduced to replace open coded functions to create CAN echo skbs.

Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Tested-by: Andre Naujoks &lt;nautsch2@gmail.com&gt;
Reviewed-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>can: peak_usb: fix mem leak in pcan_usb_pro_init()</title>
<updated>2014-01-09T20:24:20Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-12-14T13:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b52cc5df7872f64f206397a7dd3cfa2954725ea5'/>
<id>urn:sha1:b52cc5df7872f64f206397a7dd3cfa2954725ea5</id>
<content type='text'>
commit 20fb4eb96fb0350d28fc4d7cbfd5506711079592 upstream.

This patch fixes a memory leak in pcan_usb_pro_init(). In patch

    f14e224 net: can: peak_usb: Do not do dma on the stack

the struct pcan_usb_pro_fwinfo *fi and struct pcan_usb_pro_blinfo *bi were
converted from stack to dynamic allocation va kmalloc(). However the
corresponding kfree() was not introduced.

This patch adds the missing kfree().

Reported-by: Stephane Grosjean &lt;s.grosjean@peak-system.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>
</entry>
<entry>
<title>can: c_can: don't call pm_runtime_get_sync() from interrupt context</title>
<updated>2013-12-12T06:36:26Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-11-24T22:31:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4563588ce57080fc18ead503e5012a11d1e6eea8'/>
<id>urn:sha1:4563588ce57080fc18ead503e5012a11d1e6eea8</id>
<content type='text'>
commit e35d46adc49b469fd92bdb64fea8af93640e6651 upstream.

The c_can driver contians a callpath (c_can_poll -&gt; c_can_state_change -&gt;
c_can_get_berr_counter) which may call pm_runtime_get_sync() from the IRQ
handler, which is not allowed and results in "BUG: scheduling while atomic".

This problem is fixed by introducing __c_can_get_berr_counter, which will not
call pm_runtime_get_sync().

Reported-by: Andrew Glen &lt;AGlen@bepmarine.com&gt;
Tested-by: Andrew Glen &lt;AGlen@bepmarine.com&gt;
Signed-off-by: Andrew Glen &lt;AGlen@bepmarine.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>
</entry>
<entry>
<title>can: sja1000: fix {pre,post}_irq() handling and IRQ handler return value</title>
<updated>2013-12-12T06:36:26Z</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2013-11-21T17:03:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd56b24db9050289af0b4b6e5bfecc3a9e2fb400'/>
<id>urn:sha1:bd56b24db9050289af0b4b6e5bfecc3a9e2fb400</id>
<content type='text'>
commit 2fea6cd303c0d0cd9067da31d873b6a6d5bd75e7 upstream.

This patch fixes the issue that the sja1000_interrupt() function may have
returned IRQ_NONE without processing the optional pre_irq() and post_irq()
function before. Further the irq processing counter 'n' is moved to the end of
the while statement to return correct IRQ_[NONE|HANDLED] values at error
conditions.

Reported-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Acked-by: Wolfgang Grandegger &lt;wg@grandegger.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>
</entry>
<entry>
<title>can: flexcan: fix flexcan_chip_start() on imx6</title>
<updated>2013-12-04T18:55:50Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-09-27T10:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e3179de1d002a148f7e540e30f7227111992421'/>
<id>urn:sha1:2e3179de1d002a148f7e540e30f7227111992421</id>
<content type='text'>
commit 0d1862ea1a5bb876cf05555a7307080cb75bf379 upstream.

In the flexcan_chip_start() function first the flexcan core is going through
the soft reset sequence, then the RX FIFO is enabled.

With the hardware is put into FIFO mode, message buffers 1...7 are reserved by
the FIFO engine. The remaining message buffers are in reset default values.
This patch removes the bogus initialization of the message buffers, as it
causes an imprecise external abort on imx6.

Reported-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Tested-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
[mkl: adjusted context for stable]
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>can: c_can: Fix RX message handling, handle lost message before EOB</title>
<updated>2013-11-29T19:11:41Z</updated>
<author>
<name>Markus Pargmann</name>
<email>mpa@pengutronix.de</email>
</author>
<published>2013-10-28T08:54:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef1c63283fc95d0e60904937f5a428cc2c9236bd'/>
<id>urn:sha1:ef1c63283fc95d0e60904937f5a428cc2c9236bd</id>
<content type='text'>
commit 5d0f801a2ccec3b1fdabc3392c8d99ed0413d216 upstream.

If we handle end of block messages with higher priority than a lost message,
we can run into an endless interrupt loop.

This is reproducable with a am335x processor and "cansequence -r" at 1Mbit.
As soon as we loose a packet we can't escape from an interrupt loop.

This patch fixes the problem by handling lost packets before EOB packets.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>can: kvaser_usb: fix usb endpoints detection</title>
<updated>2013-11-29T19:11:40Z</updated>
<author>
<name>Olivier Sobrie</name>
<email>olivier@sobrie.be</email>
</author>
<published>2013-10-27T21:07:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4e467973ad083f10d5eee5c08429c63f2b5fd671'/>
<id>urn:sha1:4e467973ad083f10d5eee5c08429c63f2b5fd671</id>
<content type='text'>
commit 896e23bd04ea50a146dffd342e2f96180f0812a5 upstream.

Some devices, like the Kvaser Memorator Professional, have several bulk in
endpoints. Only the first one found must be used by the driver. The same holds
for the bulk out endpoint. The official Kvaser driver (leaf) was used as
reference for this patch.

Signed-off-by: Olivier Sobrie &lt;olivier@sobrie.be&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>can: flexcan: flexcan_chip_start: fix regression, mark one MB for TX and abort pending TX</title>
<updated>2013-11-13T03:05:31Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-10-04T08:52:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d60241f65bdc363f1be2b099bd98ff13a96c1f0d'/>
<id>urn:sha1:d60241f65bdc363f1be2b099bd98ff13a96c1f0d</id>
<content type='text'>
commit d5a7b406c529e4595ce03dc8f6dcf7fa36f106fa upstream.

In patch

    0d1862e can: flexcan: fix flexcan_chip_start() on imx6

the loop in flexcan_chip_start() that iterates over all mailboxes after the
soft reset of the CAN core was removed. This loop put all mailboxes (even the
ones marked as reserved 1...7) into EMPTY/INACTIVE mode. On mailboxes 8...63,
this aborts any pending TX messages.

After a cold boot there is random garbage in the mailboxes, which leads to
spontaneous transmit of CAN frames during first activation. Further if the
interface was disabled with a pending message (usually due to an error
condition on the CAN bus), this message is retransmitted after enabling the
interface again.

This patch fixes the regression by:
1) Limiting the maximum number of used mailboxes to 8, 0...7 are used by the RX
FIFO, 8 is used by TX.
2) Marking the TX mailbox as EMPTY/INACTIVE, so that any pending TX of that
mailbox is aborted.

Cc: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>can: flexcan: fix mx28 detection by rearanging OF match table</title>
<updated>2013-11-13T03:05:31Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-10-03T21:51:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e350ff50bcd46d650d56015a1416c622d057ec90'/>
<id>urn:sha1:e350ff50bcd46d650d56015a1416c622d057ec90</id>
<content type='text'>
commit e358784297992b012e8071764d996191dd2b1a54 upstream.

The current implemetation of of_match_device() relies that the of_device_id
table in the driver is sorted from most specific to least specific compatible.

Without this patch the mx28 is detected as the less specific p1010. This leads
to a p1010 specific workaround is activated on the mx28, which is not needed.

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

</content>
</entry>
</feed>
