Files
linux/drivers/net
Oliver Hartkopp 24bf50bc89 can: fix handling of unmodifiable configuration options
commit bb208f144c upstream.

As described in 'can: m_can: tag current CAN FD controllers as non-ISO'
(6cfda7fbeb) it is possible to define fixed configuration options by
setting the according bit in 'ctrlmode' and clear it in 'ctrlmode_supported'.
This leads to the incovenience that the fixed configuration bits can not be
passed by netlink even when they have the correct values (e.g. non-ISO, FD).

This patch fixes that issue and not only allows fixed set bit values to be set
again but now requires(!) to provide these fixed values at configuration time.
A valid CAN FD configuration consists of a nominal/arbitration bittiming, a
data bittiming and a control mode with CAN_CTRLMODE_FD set - which is now
enforced by a new can_validate() function. This fix additionally removed the
inconsistency that was prohibiting the support of 'CANFD-only' controller
drivers, like the RCar CAN FD.

For this reason a new helper can_set_static_ctrlmode() has been introduced to
provide a proper interface to handle static enabled CAN controller options.

Reported-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Reviewed-by: Ramesh Shanmugasundaram  <ramesh.shanmugasundaram@bp.renesas.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-06-01 12:15:50 -07:00
..
2016-04-20 15:42:04 +09:00
2016-03-03 15:07:04 -08:00
2015-08-13 21:12:17 -07:00
2015-11-15 17:09:23 -05:00
2015-11-17 14:39:29 -05:00
2016-04-20 15:42:05 +09:00
2015-10-21 19:36:10 -07:00
2015-12-23 22:28:29 -05:00
2015-07-08 16:00:09 -07:00
2015-10-13 04:55:07 -07:00
2016-04-12 09:08:58 -07:00
2016-04-20 15:42:06 +09:00