]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
Fix truncation error in timeout calculation for MADs by properly casting
authorftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 6 Jul 2005 18:55:04 +0000 (18:55 +0000)
committerftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 6 Jul 2005 18:55:04 +0000 (18:55 +0000)
32-bit values to 64-bits before performing arithmetic operations.

git-svn-id: svn://openib.tc.cornell.edu/gen1@22 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

branches/fab_cm_branch/core/al/al_mad.c

index d408a7cc0f3c119ca7d75dea615c057974515bfc..a909da9008fef4afc5ddfaea23c0769b070d9e48 100644 (file)
@@ -1873,7 +1873,7 @@ ib_delay_mad(
        if( h_send->retry_time == MAX_TIME )\r
                h_send->delay = delay_ms;\r
        else\r
-               h_send->retry_time += (delay_ms * 1000);\r
+               h_send->retry_time += ((uint64_t)delay_ms * 1000ULL);\r
 \r
        cl_spinlock_release( &h_mad_svc->obj.lock );\r
        AL_EXIT( AL_DBG_MAD_SVC );\r
@@ -2930,7 +2930,7 @@ __set_retry_time(
        IN                              ib_mad_send_handle_t            h_send )\r
 {\r
        h_send->retry_time =\r
-               (h_send->p_send_mad->timeout_ms + h_send->delay) * 1000 +\r
+               (uint64_t)(h_send->p_send_mad->timeout_ms + h_send->delay) * 1000ULL +\r
                cl_get_time_stamp();\r
        h_send->delay = 0;\r
 }\r