]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
can: isotp: implement cleanups / improvements from review
authorOliver Hartkopp <socketcan@hartkopp.net>
Mon, 12 Oct 2020 07:43:53 +0000 (09:43 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 12 Oct 2020 08:06:08 +0000 (10:06 +0200)
As pointed out by Jakub Kicinski here:
http://lore.kernel.org/r/20201009175751.5c54097f@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com
this patch addresses the remarked issues:

- remove empty line in comment
- remove default=y for CAN_ISOTP in Kconfig
- make use of pr_notice_once()
- use GFP_ATOMIC instead of gfp_any() in soft hrtimer context

The version strings in the CAN subsystem are removed by a separate patch.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/r/20201012074354.25839-1-socketcan@hartkopp.net
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
include/uapi/linux/can/isotp.h
net/can/Kconfig
net/can/isotp.c

index 553006509f4e2a4e0550c8226da8b24d8c8e2c3c..7793b26aa154d68f5fb2b074007afdfa0ccd3a44 100644 (file)
@@ -160,7 +160,6 @@ struct can_isotp_ll_options {
  * these default settings can be changed via sockopts.
  * For that reason the STmin value is intentionally _not_ checked for
  * consistency and copied directly into the flow control (FC) frame.
- *
  */
 
 #endif /* !_UAPI_CAN_ISOTP_H */
index 021fe03a8ed63cbd1ec52c069aef92be596d11d2..224e5e0283a986d9444948122479977d8107d1e9 100644 (file)
@@ -57,7 +57,6 @@ source "net/can/j1939/Kconfig"
 
 config CAN_ISOTP
        tristate "ISO 15765-2:2016 CAN transport protocol"
-       default y
        help
          CAN Transport Protocols offer support for segmented Point-to-Point
          communication between CAN nodes via two defined CAN Identifiers.
@@ -67,6 +66,8 @@ config CAN_ISOTP
          vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN traffic.
          This protocol driver implements data transfers according to
          ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types.
+         If you want to perform automotive vehicle diagnostic services (UDS),
+         say 'y'.
 
 source "drivers/net/can/Kconfig"
 
index e6ff032b54269b3aa09c97079be826b63cddd65f..ca63061bb93238ab692e79a8385d32dcf6dad679 100644 (file)
@@ -222,8 +222,8 @@ static int isotp_send_fc(struct sock *sk, int ae, u8 flowstatus)
 
        can_send_ret = can_send(nskb, 1);
        if (can_send_ret)
-               printk_once(KERN_NOTICE "can-isotp: %s: can_send_ret %d\n",
-                           __func__, can_send_ret);
+               pr_notice_once("can-isotp: %s: can_send_ret %d\n",
+                              __func__, can_send_ret);
 
        dev_put(dev);
 
@@ -769,7 +769,7 @@ static enum hrtimer_restart isotp_tx_timer_handler(struct hrtimer *hrtimer)
 
 isotp_tx_burst:
                skb = alloc_skb(so->ll.mtu + sizeof(struct can_skb_priv),
-                               gfp_any());
+                               GFP_ATOMIC);
                if (!skb) {
                        dev_put(dev);
                        break;
@@ -798,8 +798,8 @@ isotp_tx_burst:
 
                can_send_ret = can_send(skb, 1);
                if (can_send_ret)
-                       printk_once(KERN_NOTICE "can-isotp: %s: can_send_ret %d\n",
-                                   __func__, can_send_ret);
+                       pr_notice_once("can-isotp: %s: can_send_ret %d\n",
+                                      __func__, can_send_ret);
 
                if (so->tx.idx >= so->tx.len) {
                        /* we are done */
@@ -942,8 +942,8 @@ static int isotp_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
        err = can_send(skb, 1);
        dev_put(dev);
        if (err) {
-               printk_once(KERN_NOTICE "can-isotp: %s: can_send_ret %d\n",
-                           __func__, err);
+               pr_notice_once("can-isotp: %s: can_send_ret %d\n",
+                              __func__, err);
                return err;
        }