staging: vt6656: CARDqGetNextTBTT correct uLowNextTBTT
authorMalcolm Priestley <tvboxspy@gmail.com>
Wed, 1 Jan 2014 19:19:28 +0000 (19:19 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Feb 2014 19:08:14 +0000 (11:08 -0800)
commit 9acec059c0cef0bf086c738f4c0b1f4447782a48 upstream.

value uLowNextTBTT yields wrong value.

ULL is needed with qwTSF

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/card.c

index 24291ae..0beb246 100644 (file)
@@ -761,7 +761,7 @@ u64 CARDqGetNextTBTT(u64 qwTSF, u16 wBeaconInterval)
 
     uBeaconInterval = wBeaconInterval * 1024;
     // Next TBTT = ((local_current_TSF / beacon_interval) + 1 ) * beacon_interval
-       uLowNextTBTT = ((qwTSF & 0xffffffffU) >> 10) << 10;
+       uLowNextTBTT = ((qwTSF & 0xffffffffULL) >> 10) << 10;
        uLowRemain = (uLowNextTBTT) % uBeaconInterval;
        uHighRemain = ((0x80000000 % uBeaconInterval) * 2 * (u32)(qwTSF >> 32))
                % uBeaconInterval;