]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
net: ethernet: ti: cpts: fix fifo read in cpts_find_ts
authorGrygorii Strashko <grygorii.strashko@ti.com>
Fri, 28 Jul 2017 22:30:05 +0000 (17:30 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 Aug 2017 22:22:55 +0000 (15:22 -0700)
commita93439cce2c1d31469e8245c504dbb6d1bed8749
tree8606eb38d70d18f42c12285cebd08c84c2e3693d
parent0d5f54fec0a18eea5e4ac005646fd2bc2118636c
net: ethernet: ti: cpts: fix fifo read in cpts_find_ts

Now the call chain
 cpts_find_ts()
  |- cpts_fifo_read(cpts, CPTS_EV_PUSH)

will stop reading CPTS FIFO if PUSH event is found. But this is not
expected and CPTS FIFI should be completely drained here. This is most
probably copy-paste error and it has no negative impact as CPTS_EV_PUSH
should not be present in FIFO without TS_PUSH request and
cpts_systim_read() and cpts_find_ts() synchronized by spin_lock.

Correct above by calling cpts_fifo_read() with -1 parameter, so it will
read all CPTS event from FIFO.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpts.c