OSDN Git Service

staging: comedi: jr3_pci: cope with jiffies wraparound
authorIan Abbott <abbotti@mev.co.uk>
Fri, 17 Feb 2017 11:09:09 +0000 (11:09 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Mar 2017 08:16:58 +0000 (09:16 +0100)
commit8ec04a491825e08068e92bed0bba7821893b6433
tree533f133dec647ccb64a2c7e551d43249f57cc7b8
parent45292be0b3db0b7f8286683b376e2d9f949d11f9
staging: comedi: jr3_pci: cope with jiffies wraparound

The timer expiry routine `jr3_pci_poll_dev()` checks for expiry by
checking whether the absolute value of `jiffies` (stored in local
variable `now`) is greater than the expected expiry time in jiffy units.
This will fail when `jiffies` wraps around.  Also, it seems to make
sense to handle the expiry one jiffy earlier than the current test.  Use
`time_after_eq()` to check for expiry.

Cc: <stable@vger.kernel.org> # 3.15+
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/jr3_pci.c