summaryrefslogtreecommitdiffstats
path: root/net/can
diff options
context:
space:
mode:
authorZiyang Xuan <william.xuanziyang@huawei.com>2022-08-27 15:20:11 +0800
committerMarc Kleine-Budde <mkl@pengutronix.de>2022-09-06 08:35:07 +0200
commit170277c532780392051fee48260896ed280cfbef (patch)
treeb82ed850922ee21d2c017bb2b1ecce5d2cd51dea /net/can
parentc28b3bffe49e713ce67f0e36de13b8f9f0776837 (diff)
downloadlinux-170277c532780392051fee48260896ed280cfbef.tar.gz
linux-170277c532780392051fee48260896ed280cfbef.tar.bz2
linux-170277c532780392051fee48260896ed280cfbef.zip
can: raw: use guard clause to optimize nesting in raw_rcv()
We can use guard clause to optimize nesting codes like if (condition) { ... } else { return; } in raw_rcv(); Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com> Link: https://lore.kernel.org/all/0170ad1f07dbe838965df4274fce950980fa9d1f.1661584485.git.william.xuanziyang@huawei.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'net/can')
-rw-r--r--net/can/raw.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/net/can/raw.c b/net/can/raw.c
index 9ae7c4206b9a..e7dfa3584e29 100644
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -136,14 +136,13 @@ static void raw_rcv(struct sk_buff *oskb, void *data)
/* eliminate multiple filter matches for the same skb */
if (this_cpu_ptr(ro->uniq)->skb == oskb &&
this_cpu_ptr(ro->uniq)->skbcnt == can_skb_prv(oskb)->skbcnt) {
- if (ro->join_filters) {
- this_cpu_inc(ro->uniq->join_rx_count);
- /* drop frame until all enabled filters matched */
- if (this_cpu_ptr(ro->uniq)->join_rx_count < ro->count)
- return;
- } else {
+ if (!ro->join_filters)
+ return;
+
+ this_cpu_inc(ro->uniq->join_rx_count);
+ /* drop frame until all enabled filters matched */
+ if (this_cpu_ptr(ro->uniq)->join_rx_count < ro->count)
return;
- }
} else {
this_cpu_ptr(ro->uniq)->skb = oskb;
this_cpu_ptr(ro->uniq)->skbcnt = can_skb_prv(oskb)->skbcnt;