summaryrefslogtreecommitdiffstats
path: root/drivers/net/can/dev.c
diff options
context:
space:
mode:
authorChristian Pellegrin <chripell@fsfe.org>2010-01-14 07:08:34 +0000
committerDavid S. Miller <davem@davemloft.net>2010-01-15 01:39:17 -0800
commitad72c347e56bf3a0231b9d686e17764157d2961c (patch)
tree4db03a0abae50edfaf996f43e3f717a57b776fbd /drivers/net/can/dev.c
parent1954dc11776ef8c06263ba4cd21bf4d25c79a19c (diff)
downloadop-kernel-dev-ad72c347e56bf3a0231b9d686e17764157d2961c.zip
op-kernel-dev-ad72c347e56bf3a0231b9d686e17764157d2961c.tar.gz
can: Proper ctrlmode handling for CAN devices
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 <chripell@fsfe.org> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/can/dev.c')
-rw-r--r--drivers/net/can/dev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index c1bb29f..f08f120 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -592,6 +592,8 @@ static int can_changelink(struct net_device *dev,
if (dev->flags & IFF_UP)
return -EBUSY;
cm = nla_data(data[IFLA_CAN_CTRLMODE]);
+ if (cm->flags & ~priv->ctrlmode_supported)
+ return -EOPNOTSUPP;
priv->ctrlmode &= ~cm->mask;
priv->ctrlmode |= cm->flags;
}
OpenPOWER on IntegriCloud