<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/can, branch v2.6.34</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.34</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.34'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2010-02-26T13:22:03+00:00</updated>
<entry>
<title>can: ti hecc module : add platform specific initialization callback.</title>
<updated>2010-02-26T13:22:03+00:00</updated>
<author>
<name>Sriramakrishnan</name>
<email>srk@ti.com</email>
</author>
<published>2010-02-26T13:22:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=773c3e75d1fc7ea5058bfeab5d82bac5b85f8cd8'/>
<id>urn:sha1:773c3e75d1fc7ea5058bfeab5d82bac5b85f8cd8</id>
<content type='text'>
CAN module on AM3517 requires programming of IO expander as part
of init sequence - to enable CAN PHY. Added platform specific
callback to handle phy control(switch on /off).

Signed-off-by: Sriramakrishnan &lt;srk@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: netlink support for bus-error reporting and counters</title>
<updated>2010-02-26T09:48:49+00:00</updated>
<author>
<name>Wolfgang Grandegger</name>
<email>wg@grandegger.com</email>
</author>
<published>2010-02-22T22:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=52c793f24054f5dc30d228e37e0e19cc8313f086'/>
<id>urn:sha1:52c793f24054f5dc30d228e37e0e19cc8313f086</id>
<content type='text'>
This patch makes the bus-error reporting configurable and allows to
retrieve the CAN TX and RX bus error counters via netlink interface.
I have added support for the SJA1000. The TX and RX bus error counters
are also copied to the data fields 6..7 of error messages when state
changes are reported.

Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: Proper ctrlmode handling for CAN devices</title>
<updated>2010-01-15T09:39:17+00:00</updated>
<author>
<name>Christian Pellegrin</name>
<email>chripell@fsfe.org</email>
</author>
<published>2010-01-14T07:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ad72c347e56bf3a0231b9d686e17764157d2961c'/>
<id>urn:sha1:ad72c347e56bf3a0231b9d686e17764157d2961c</id>
<content type='text'>
This patch adds error checking of ctrlmode values for CAN devices. As
an example all availabe bits are implemented in the mcp251x driver.

Signed-off-by: Christian Pellegrin &lt;chripell@fsfe.org&gt;
Acked-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: Unify droping of invalid tx skbs and netdev stats</title>
<updated>2010-01-12T10:00:46+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>oliver@hartkopp.net</email>
</author>
<published>2010-01-12T10:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3ccd4c6167d3b39d52631767ebbf8b5677c5855d'/>
<id>urn:sha1:3ccd4c6167d3b39d52631767ebbf8b5677c5855d</id>
<content type='text'>
To prevent the CAN drivers to operate on invalid socketbuffers the skbs are
now checked and silently dropped at the xmit-function consistently.

Also the netdev stats are consistently using the CAN data length code (dlc)
for [rx|tx]_bytes now.

Signed-off-by: Oliver Hartkopp &lt;oliver@hartkopp.net&gt;
Acked-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can/netlink: add CAN_CTRLMODE_ONE_SHOT</title>
<updated>2010-01-04T05:31:03+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2009-12-23T01:27:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c1c5523dd1517250cac8b15a4acbc237c24a67d4'/>
<id>urn:sha1:c1c5523dd1517250cac8b15a4acbc237c24a67d4</id>
<content type='text'>
This patch adds the flag CAN_CTRLMODE_ONE_SHOT. It is used as mask
or flag in the "struct can_ctrlmode".

It allows userspace via netlink to set a CAN controller into the special
"one-shot" mode. In this mode, if supported by the CAN controller, it
tries only once to deliver a CAN frame and aborts it if an error
(e.g.: arbitration lost) happens.

Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Acked-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: Fix data length code handling in rx path</title>
<updated>2009-12-14T03:47:42+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>oliver@hartkopp.net</email>
</author>
<published>2009-12-12T04:13:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c7cd606f60e7679c7f9eee7010f02a6f000209c1'/>
<id>urn:sha1:c7cd606f60e7679c7f9eee7010f02a6f000209c1</id>
<content type='text'>
A valid CAN dataframe can have a data length code (DLC) of 0 .. 8 data bytes.

When reading the CAN controllers register the 4-bit value may contain values
from 0 .. 15 which may exceed the reserved space in the socket buffer!

The ISO 11898-1 Chapter 8.4.2.3 (DLC field) says that register values &gt; 8
should be reduced to 8 without any error reporting or frame drop.

This patch introduces a new helper macro to cast a given 4-bit data length
code (dlc) to __u8 and ensure the DLC value to be max. 8 bytes.

The different handlings in the rx path of the CAN netdevice drivers are fixed.

Signed-off-by: Oliver Hartkopp &lt;oliver@hartkopp.net&gt;
Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: Driver for the Microchip MCP251x SPI CAN controllers</title>
<updated>2009-11-08T09:50:21+00:00</updated>
<author>
<name>Christian Pellegrin</name>
<email>chripell@fsfe.org</email>
</author>
<published>2009-11-02T23:07:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e0000163e30eeb112b41486ea113fd54f64e1f17'/>
<id>urn:sha1:e0000163e30eeb112b41486ea113fd54f64e1f17</id>
<content type='text'>
Signed-off-by: Christian Pellegrin &lt;chripell@fsfe.org&gt;
Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: drop capability from protocol definitions</title>
<updated>2009-11-06T05:40:17+00:00</updated>
<author>
<name>Eric Paris</name>
<email>eparis@redhat.com</email>
</author>
<published>2009-11-06T04:44:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=13f18aa05f5abe135f47b6417537ae2b2fedc18c'/>
<id>urn:sha1:13f18aa05f5abe135f47b6417537ae2b2fedc18c</id>
<content type='text'>
struct can_proto had a capability field which wasn't ever used.  It is
dropped entirely.

struct inet_protosw had a capability field which can be more clearly
expressed in the code by just checking if sock-&gt;type = SOCK_RAW.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
Acked-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: provide library functions for skb allocation</title>
<updated>2009-10-20T07:08:01+00:00</updated>
<author>
<name>Wolfgang Grandegger</name>
<email>wg@grandegger.com</email>
</author>
<published>2009-10-20T07:08:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7b6856a0296a8f187bb88ba31fa83a08abba7966'/>
<id>urn:sha1:7b6856a0296a8f187bb88ba31fa83a08abba7966</id>
<content type='text'>
This patch makes the private functions alloc_can_skb() and
alloc_can_err_skb() of the at91_can driver public and adapts all
drivers to use these. While making the patch I realized, that
the skb's are *not* setup consistently. It's now done as shown
below:

  skb-&gt;protocol = htons(ETH_P_CAN);
  skb-&gt;pkt_type = PACKET_BROADCAST;
  skb-&gt;ip_summed = CHECKSUM_UNNECESSARY;
  *cf = (struct can_frame *)skb_put(skb, sizeof(struct can_frame));
  memset(*cf, 0, sizeof(struct can_frame));

The frame is zeroed out to avoid uninitialized data to be passed to
user space. Some drivers or library code did not set "pkt_type" or
"ip_summed". Also,  "__constant_htons()" should not be used for
runtime invocations, as pointed out by David Miller.

Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: make the number of echo skb's configurable</title>
<updated>2009-10-13T10:44:04+00:00</updated>
<author>
<name>Wolfgang Grandegger</name>
<email>wg@grandegger.com</email>
</author>
<published>2009-10-08T22:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a6e4bc5304033e434fabccabb230b8e9ff55d76f'/>
<id>urn:sha1:a6e4bc5304033e434fabccabb230b8e9ff55d76f</id>
<content type='text'>
This patch allows the CAN controller driver to define the number of echo
skb's used for the local loopback (echo), as suggested by Kurt Van
Dijck, with the function:

  struct net_device *alloc_candev(int sizeof_priv,
                                  unsigned int echo_skb_max);

The CAN drivers have been adapted accordingly. For the ems_usb driver,
as suggested by Sebastian Haas, the number of echo skb's has been
increased to 10, which improves the transmission performance a lot.

Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: Kurt Van Dijck &lt;kurt.van.dijck@eia.be&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
