aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/can/c_can/c_can.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-03-18 17:19:15 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2014-04-01 11:55:02 +0200
commitb1d8e431bd5639c03ff99d08fd2d5d621969bdc5 (patch)
tree198ba84b0bb5735de9818244a0d9531583cb9f0c /drivers/net/can/c_can/c_can.c
parentcan: c_can: Simplify TX interrupt cleanup (diff)
downloadlinux-dev-b1d8e431bd5639c03ff99d08fd2d5d621969bdc5.tar.xz
linux-dev-b1d8e431bd5639c03ff99d08fd2d5d621969bdc5.zip
can: c_can: Avoid led toggling for every packet.
There is no point to toggle the RX led for every packet. Especially if we have a full FIFO we want to avoid everything we can. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to '')
-rw-r--r--drivers/net/can/c_can/c_can.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c
index 42c038d523c9..01dc4941e3d0 100644
--- a/drivers/net/can/c_can/c_can.c
+++ b/drivers/net/can/c_can/c_can.c
@@ -433,9 +433,6 @@ static int c_can_read_msg_object(struct net_device *dev, int iface, int ctrl)
stats->rx_packets++;
stats->rx_bytes += frame->can_dlc;
-
- can_led_event(dev, CAN_LED_EVENT_RX);
-
return 0;
}
@@ -901,6 +898,10 @@ static int c_can_do_rx_poll(struct net_device *dev, int quota)
pkts += n;
quota -= n;
}
+
+ if (pkts)
+ can_led_event(dev, CAN_LED_EVENT_RX);
+
return pkts;
}