diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/system-dm320.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/system-dm320.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/firmware/target/arm/tms320dm320/system-dm320.c b/firmware/target/arm/tms320dm320/system-dm320.c index a2a9ec3661..e455ade590 100644 --- a/firmware/target/arm/tms320dm320/system-dm320.c +++ b/firmware/target/arm/tms320dm320/system-dm320.c | |||
@@ -426,7 +426,7 @@ void udelay(int usec) { | |||
426 | stop = count + usec*((tmp+1)/10000); | 426 | stop = count + usec*((tmp+1)/10000); |
427 | stop += (unsigned short)(((unsigned long)(usec)*((tmp%10000)+1))/10000); | 427 | stop += (unsigned short)(((unsigned long)(usec)*((tmp%10000)+1))/10000); |
428 | 428 | ||
429 | /* stop values over tmdiv won't ever be reached */ | 429 | /* stop values over TMDIV won't ever be reached */ |
430 | if (stop > tmp) | 430 | if (stop > tmp) |
431 | { | 431 | { |
432 | stop -= tmp; | 432 | stop -= tmp; |
@@ -435,15 +435,13 @@ void udelay(int usec) { | |||
435 | if (stop < count) | 435 | if (stop < count) |
436 | { | 436 | { |
437 | /* udelay will end after counter reset (tick) */ | 437 | /* udelay will end after counter reset (tick) */ |
438 | while ((((tmp = IO_TIMER1_TMCNT) < stop) && | 438 | while (((IO_TIMER1_TMCNT < stop) && (current_tick != prev_tick)) || |
439 | (current_tick != prev_tick)) || | ||
440 | (current_tick == prev_tick)); /* ensure new tick */ | 439 | (current_tick == prev_tick)); /* ensure new tick */ |
441 | } | 440 | } |
442 | else | 441 | else |
443 | { | 442 | { |
444 | /* udelay will end before counter reset (tick) */ | 443 | /* udelay will end before counter reset (tick) */ |
445 | while (((tmp = IO_TIMER1_TMCNT) < stop) && | 444 | while ((IO_TIMER1_TMCNT < stop) && (current_tick == prev_tick)); |
446 | (current_tick == prev_tick)); | ||
447 | } | 445 | } |
448 | } | 446 | } |
449 | 447 | ||