can: netlink: remove redundant check in can_validate()
authorVincent Mailhol <mailhol.vincent@wanadoo.fr>
Thu, 3 Jun 2021 15:15:49 +0000 (00:15 +0900)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Sun, 25 Jul 2021 09:36:25 +0000 (11:36 +0200)
commit6b6bd199926797414bf4d6843312709dfd4a649e
tree2bcb58e1cabe9c0b63f2599089bc8a4663f87d07
parente3b0a4a470647bc48c186a71cc63ddcb93899424
can: netlink: remove redundant check in can_validate()

can_validate() does a first check:

| if (is_can_fd) {
| if (!data[IFLA_CAN_BITTIMING] || !data[IFLA_CAN_DATA_BITTIMING])
| return -EOPNOTSUPP;
| }

If that first if succeeds, we know that if is_can_fd is true then
data[IFLA_CAN_BITTIMING is set.

However, the next if switch does not leverage on above knowledge and
redoes the check:

|  if (data[IFLA_CAN_DATA_BITTIMING]) {
| if (!is_can_fd || !data[IFLA_CAN_BITTIMING])
|                    ^~~~~~~~~~~~~~~~~~~~~~~~
|  return -EOPNOTSUPP;
|  }

This patch removes that redundant check.

Link: https://lore.kernel.org/r/20210603151550.140727-2-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/dev/netlink.c