iwlwifi: correct math in elapsed_jiffies
authorEric Sandeen <sandeen@redhat.com>
Thu, 24 Jan 2008 20:47:39 +0000 (15:47 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Feb 2008 03:26:47 +0000 (19:26 -0800)
w/o the first change: if end == start you get MAX_JIFFY_OFFSET which
isn't what you want...

For the latter I think to be technically correct you need the +1 to
account for the jiffy between MAX_JIFFY_OFFSET and 0

(hmm w/ the 2nd change the first isn't strictly needed... ah well)

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/iwlwifi/iwl-helpers.h

index cd2eb18..cb009f4 100644 (file)
@@ -246,10 +246,10 @@ static inline int iwl_check_bits(unsigned long field, unsigned long mask)
 static inline unsigned long elapsed_jiffies(unsigned long start,
                                            unsigned long end)
 {
-       if (end > start)
+       if (end >= start)
                return end - start;
 
-       return end + (MAX_JIFFY_OFFSET - start);
+       return end + (MAX_JIFFY_OFFSET - start) + 1;
 }
 
 static inline u8 iwl_get_dma_hi_address(dma_addr_t addr)