Loading drivers/net/can/slcan.c +5 −21 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ #include <linux/sched.h> #include <linux/delay.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/can.h> static __initdata const char banner[] = Loading Loading @@ -142,21 +143,6 @@ static struct net_device **slcan_devs; * STANDARD SLCAN DECAPSULATION * ************************************************************************/ static int asc2nibble(char c) { if ((c >= '0') && (c <= '9')) return c - '0'; if ((c >= 'A') && (c <= 'F')) return c - 'A' + 10; if ((c >= 'a') && (c <= 'f')) return c - 'a' + 10; return 16; /* error */ } /* Send one completely decapsulated can_frame to the network layer */ static void slc_bump(struct slcan *sl) { Loading Loading @@ -195,18 +181,16 @@ static void slc_bump(struct slcan *sl) *(u64 *) (&cf.data) = 0; /* clear payload */ for (i = 0, dlc_pos++; i < cf.can_dlc; i++) { tmp = asc2nibble(sl->rbuff[dlc_pos++]); if (tmp > 0x0F) tmp = hex_to_bin(sl->rbuff[dlc_pos++]); if (tmp < 0) return; cf.data[i] = (tmp << 4); tmp = asc2nibble(sl->rbuff[dlc_pos++]); if (tmp > 0x0F) tmp = hex_to_bin(sl->rbuff[dlc_pos++]); if (tmp < 0) return; cf.data[i] |= tmp; } skb = dev_alloc_skb(sizeof(struct can_frame)); if (!skb) return; Loading Loading
drivers/net/can/slcan.c +5 −21 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ #include <linux/sched.h> #include <linux/delay.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/can.h> static __initdata const char banner[] = Loading Loading @@ -142,21 +143,6 @@ static struct net_device **slcan_devs; * STANDARD SLCAN DECAPSULATION * ************************************************************************/ static int asc2nibble(char c) { if ((c >= '0') && (c <= '9')) return c - '0'; if ((c >= 'A') && (c <= 'F')) return c - 'A' + 10; if ((c >= 'a') && (c <= 'f')) return c - 'a' + 10; return 16; /* error */ } /* Send one completely decapsulated can_frame to the network layer */ static void slc_bump(struct slcan *sl) { Loading Loading @@ -195,18 +181,16 @@ static void slc_bump(struct slcan *sl) *(u64 *) (&cf.data) = 0; /* clear payload */ for (i = 0, dlc_pos++; i < cf.can_dlc; i++) { tmp = asc2nibble(sl->rbuff[dlc_pos++]); if (tmp > 0x0F) tmp = hex_to_bin(sl->rbuff[dlc_pos++]); if (tmp < 0) return; cf.data[i] = (tmp << 4); tmp = asc2nibble(sl->rbuff[dlc_pos++]); if (tmp > 0x0F) tmp = hex_to_bin(sl->rbuff[dlc_pos++]); if (tmp < 0) return; cf.data[i] |= tmp; } skb = dev_alloc_skb(sizeof(struct can_frame)); if (!skb) return; Loading