summaryrefslogtreecommitdiffstats
path: root/tools/lguest
diff options
context:
space:
mode:
authorOliver Hartkopp <socketcan@hartkopp.net>2016-03-21 20:18:21 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-06-01 12:15:50 -0700
commit24bf50bc89088686a40cb4ed7f21bd0d08ce6b0b (patch)
tree092cd49fef663ba82a824e27ca057da43c379944 /tools/lguest
parent9b68f12b57e5241f26c2924637aaae740cc1b276 (diff)
downloadlinux-stable-24bf50bc89088686a40cb4ed7f21bd0d08ce6b0b.tar.gz
linux-stable-24bf50bc89088686a40cb4ed7f21bd0d08ce6b0b.tar.bz2
linux-stable-24bf50bc89088686a40cb4ed7f21bd0d08ce6b0b.zip
can: fix handling of unmodifiable configuration options
commit bb208f144cf3f59d8f89a09a80efd04389718907 upstream. As described in 'can: m_can: tag current CAN FD controllers as non-ISO' (6cfda7fbebe) 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>
Diffstat (limited to 'tools/lguest')
0 files changed, 0 insertions, 0 deletions