<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/can, branch v3.15.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.15.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.15.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2014-05-27T13:05:41+00:00</updated>
<entry>
<title>can: only rename enabled led triggers when changing the netdev name</title>
<updated>2014-05-27T13:05:41+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2014-05-27T11:30:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=45fb4f8d81578e0a17c45c4593a3305afbf7a48b'/>
<id>urn:sha1:45fb4f8d81578e0a17c45c4593a3305afbf7a48b</id>
<content type='text'>
Commit a1ef7bd9fce8 ("can: rename LED trigger name on netdev renames") renames
the led trigger names according to the changed netdevice name.

As not every CAN driver supports and initializes the led triggers, checking for
the CAN private datastructure with safe_candev_priv() in the notifier chain is
not enough.

This patch adds a check when CONFIG_CAN_LEDS is enabled and the driver does not
support led triggers.

For stable 3.9+

Cc: Fabio Baltieri &lt;fabio.baltieri@gmail.com&gt;
Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Acked-by: Kurt Van Dijck &lt;dev.kurt@vandijck-laurijssen.be&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: peak_pci: prevent use after free at netdev removal</title>
<updated>2014-05-21T06:17:03+00:00</updated>
<author>
<name>Stephane Grosjean</name>
<email>s.grosjean@peak-system.com</email>
</author>
<published>2014-05-20T09:38:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0b5a958cf4df3a5cd578b861471e62138f55c85e'/>
<id>urn:sha1:0b5a958cf4df3a5cd578b861471e62138f55c85e</id>
<content type='text'>
As remarked by Christopher R. Baker in his post at

http://marc.info/?l=linux-can&amp;m=139707295706465&amp;w=2

there's a possibility for an use after free condition at device removal.

This simplified patch introduces an additional variable to prevent the issue.
Thanks for catching this.

Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Reported-by: Christopher R. Baker &lt;cbaker@rec.ri.cmu.edu&gt;
Signed-off-by: Stephane Grosjean &lt;s.grosjean@peak-system.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: c_can: remove obsolete STRICT_FRAME_ORDERING Kconfig option</title>
<updated>2014-05-19T07:03:06+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2014-05-06T17:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=524369e2391f4b422d0efdd11d526a373a11a43a'/>
<id>urn:sha1:524369e2391f4b422d0efdd11d526a373a11a43a</id>
<content type='text'>
In 2b9aecdce2 ("can: c_can: Disable rx split as workaround") a new Kconfig
option was introduced as a workaround. The tests performed by Alexander Stein
confirmed this option to be obsolete with all the other cleanups and fixes
that had been discussed that time:
http://marc.info/?l=linux-can&amp;m=139746476821294&amp;w=2

Both (author and tester) agreed to remove this Kconfig option again:
http://marc.info/?l=linux-can&amp;m=139883820714229&amp;w=2

As some more cleanups took place since then a simple revert is not possible.
This patch removes the entire option as it would behave when disabled.
Further beautification’s can be done later.

Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Tested-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: slcan: Fix spinlock variant</title>
<updated>2014-04-24T20:32:41+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@systec-electronic.com</email>
</author>
<published>2014-04-15T14:51:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=367525c8c20a34560afe1d0c7cca52a44ccd62e9'/>
<id>urn:sha1:367525c8c20a34560afe1d0c7cca52a44ccd62e9</id>
<content type='text'>
slc_xmit is called within softirq context and locks sl-&gt;lock, but
slcan_write_wakeup is not softirq context, so we need to use
spin_[un]lock_bh!
Detected using kernel lock debugging mechanism.

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Acked-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: fix return value from can_get_bittiming()</title>
<updated>2014-04-24T20:30:39+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2014-04-23T20:10:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d482443244b820f03a5a07d1bca6a0f5e2b4804c'/>
<id>urn:sha1:d482443244b820f03a5a07d1bca6a0f5e2b4804c</id>
<content type='text'>
When trying to set a data bitrate on non CAN FD devices the 'ip' tool
answers with:

	RTNETLINK answers: Unknown error 524

Rename '-ENOTSUPP' to '-EOPNOTSUPP' so that 'ip' answers correctly:

       RTNETLINK answers: Operation not supported

Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: sja1000_isa: add locking for indirect register access mode</title>
<updated>2014-04-24T20:22:53+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2014-04-15T17:30:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a9edcdedbd3d8f3ffcd7bdcab5812707a25e554e'/>
<id>urn:sha1:a9edcdedbd3d8f3ffcd7bdcab5812707a25e554e</id>
<content type='text'>
When accessing the SJA1000 controller registers in the indirect access mode,
writing the register number and reading/writing the data has to be an atomic
attempt.

As the sja1000_isa driver is an old style driver with a fixed number of
instances the locking variable depends on the same index like all the other
configuration elements given on the module command line.

As a positive side effect dev-&gt;dev_id is populated by the instance index,
which was missing in 3e66d0138c05d9 ("can: populate netdev::dev_id for udev
discrimination").

Reported-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: c_can_pci: enable PCI bus master only for MSI</title>
<updated>2014-04-24T20:22:52+00:00</updated>
<author>
<name>Wolfgang Grandegger</name>
<email>wg@grandegger.com</email>
</author>
<published>2014-04-03T18:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=78c181bc8a75d3f0624eaf24aa8265d441990c8c'/>
<id>urn:sha1:78c181bc8a75d3f0624eaf24aa8265d441990c8c</id>
<content type='text'>
Coverity complains that c_can_pci_probe() calls pci_enable_msi() without
checking the result:

CID 712278 (#1 of 1): Unchecked return value (CHECKED_RETURN) 3. check_return:
Calling pci_enable_msi_block without checking return value (as is done
elsewhere 88 out of 105 times).
 88        pci_enable_msi(pdev);

This is CID 712278.

Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Reported-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: c_can: use proper type for 'instance'</title>
<updated>2014-04-24T20:09:01+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa@sang-engineering.com</email>
</author>
<published>2014-04-17T08:57:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f323d7a1d2868c00b2604dca36ad82e8ecbe4270'/>
<id>urn:sha1:f323d7a1d2868c00b2604dca36ad82e8ecbe4270</id>
<content type='text'>
Commit 6439fbce1075 (can: c_can: fix error checking of priv-&gt;instance in
probe()) found the warning but applied a suboptimal solution. Since, both
pdev-&gt;id and of_alias_get_id() return integers, it makes sense to convert the
variable to an integer and avoid the cast.

Signed-off-by: Wolfram Sang &lt;wsa@sang-engineering.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: c_can: Speed up tx buffer invalidation</title>
<updated>2014-04-24T20:09:01+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2014-04-11T08:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=939415973fdfb2c16a474e2575ba2581b828ccac'/>
<id>urn:sha1:939415973fdfb2c16a474e2575ba2581b828ccac</id>
<content type='text'>
It's suffcient to kill the TXIE bit in the message control register
even if the documentation of C and D CAN says that it's not allowed to
do that while MSGVAL is set. Reality tells a different story and this
change gives us another 2% of CPU back for not waiting on I/O.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: c_can: Remove tx locking</title>
<updated>2014-04-24T20:09:01+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2014-04-11T08:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=35bdafb576c5c0a06815e7a681571c3ab950ff7e'/>
<id>urn:sha1:35bdafb576c5c0a06815e7a681571c3ab950ff7e</id>
<content type='text'>
Mark suggested to use one IF for the softirq and the other for the
xmit function to avoid the xmit lock.

That requires to write the frame into the interface first, then handle
the echo skb and store the dlc before committing the TX request to the
message ram.

We use an atomic to handle the active buffers instead of reading the
MSGVAL register as thats way faster especially on PCH/x86.

Suggested-by: Mark &lt;mark5@del-llc.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
</feed>
