[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201016172240.229359-1-mailhol.vincent@wanadoo.fr>
Date: Sat, 17 Oct 2020 02:22:11 +0900
From: Vincent Mailhol <mailhol.vincent@...adoo.fr>
To: linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
linux-can@...r.kernel.org, Marc Kleine-Budde <mkl@...gutronix.de>,
Wolfgang Grandegger <wg@...ndegger.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>
Cc: Arunachalam Santhanam <arunachalam.santhanam@...bosch.com>,
Vincent Mailhol <mailhol.vincent@...adoo.fr>,
Masahiro Yamada <masahiroy@...nel.org>
Subject: [PATCH v4 3/4] can: dev: __can_get_echo_skb(): fix the return length
The length of Remote Transmission Request (RTR) frames is always 0
bytes. The DLC represents the requested length, not the actual length
of the RTR. But __can_get_echo_skb() returns the DLC value regardless.
Apply get_can_len() function to retrieve the correct length.
Signed-off-by: Vincent Mailhol <mailhol.vincent@...adoo.fr>
---
Changes in v2 to v4: None
---
drivers/net/can/dev.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 73cfcd7e9517..8f91d23c1ca7 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -507,14 +507,9 @@ __can_get_echo_skb(struct net_device *dev, unsigned int idx, u8 *len_ptr)
}
if (priv->echo_skb[idx]) {
- /* Using "struct canfd_frame::len" for the frame
- * length is supported on both CAN and CANFD frames.
- */
struct sk_buff *skb = priv->echo_skb[idx];
- struct canfd_frame *cf = (struct canfd_frame *)skb->data;
- u8 len = cf->len;
- *len_ptr = len;
+ *len_ptr = get_can_len(skb);
priv->echo_skb[idx] = NULL;
return skb;
--
2.26.2
Powered by blists - more mailing lists