summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Silverman <brian.silverman@bluerivertech.com>2022-01-06 03:29:50 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-01-27 11:04:12 +0300
commit6332e925ee257e2362be5a6943b9e85b138a2fe9 (patch)
tree6f238db3e5dfd7a5eb20eaba5182f07cad64795e
parent359cd38937e290cd5d24857061e081ce68f61992 (diff)
downloadlinux-6332e925ee257e2362be5a6943b9e85b138a2fe9.tar.xz
can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved}
commit 89d58aebe14a365c25ba6645414afdbf4e41cea4 upstream. No information is deliberately sent in hf->flags in host -> device communications, but the open-source candleLight firmware echoes it back, which can result in the GS_CAN_FLAG_OVERFLOW flag being set and generating spurious ERRORFRAMEs. While there also initialize the reserved member with 0. Fixes: d08e973a77d1 ("can: gs_usb: Added support for the GS_USB CAN devices") Link: https://lore.kernel.org/all/20220106002952.25883-1-brian.silverman@bluerivertech.com Link: https://github.com/candle-usb/candleLight_fw/issues/87 Cc: stable@vger.kernel.org Signed-off-by: Brian Silverman <brian.silverman@bluerivertech.com> [mkl: initialize the reserved member, too] Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/can/usb/gs_usb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c
index 9c9a68bc0370..8fa5836e5487 100644
--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -515,6 +515,8 @@ static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb,
hf->echo_id = idx;
hf->channel = dev->channel;
+ hf->flags = 0;
+ hf->reserved = 0;
cf = (struct can_frame *)skb->data;