OSDN Git Service

can: c_can: exit c_can_do_tx() early if no frames have been sent
authorDario Binacchi <dariobin@libero.it>
Sat, 7 Aug 2021 13:07:58 +0000 (15:07 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 19 Aug 2021 13:07:05 +0000 (15:07 +0200)
commita54cdbba9deee77ca48b5eec0c26fcc72538538c
tree5311731f7a10922d5c7793f7fb375198ae556fe1
parent5064e40596f478fce241cffbc780d3b156d74066
can: c_can: exit c_can_do_tx() early if no frames have been sent

The c_can_poll() handles RX/TX events unconditionally. It may therefore
happen that c_can_do_tx() is called unnecessarily because the interrupt
was triggered by the reception of a frame. In these cases, we avoid to
execute unnecessary statements and exit immediately.

Link: https://lore.kernel.org/r/20210807130800.5246-3-dariobin@libero.it
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/c_can/c_can_main.c