• Christian Borntraeger's avatar
    [S390] Fix enabled udelay for short delays. · 78d81f2f
    Christian Borntraeger authored
    When udelay() gets called with a delay that would expire before the
    next clock event it reprograms the clock comparator.
    When the interrupt happens the clock comparator won't be resetted
    therefore the interrupt condition doesn't get cleared.
    The result is an endless timer interrupt loop until the next clock
    event would expire (stored in lowcore).
    So udelay() usually would wait much longer for small delays than it
    should.
    
    Fix this by disabling the local tick which makes sure that the clock
    comparator will be resetted when a timer interrupt happens.
    Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    78d81f2f
delay.c 2.76 KB