.. | .. |
---|
35 | 35 | |
---|
36 | 36 | #define ENA_REGS_ADMIN_INTR_MASK 1 |
---|
37 | 37 | |
---|
| 38 | +#define ENA_MAX_BACKOFF_DELAY_EXP 16U |
---|
| 39 | + |
---|
38 | 40 | #define ENA_MIN_ADMIN_POLL_US 100 |
---|
39 | 41 | |
---|
40 | 42 | #define ENA_MAX_ADMIN_POLL_US 5000 |
---|
.. | .. |
---|
522 | 524 | |
---|
523 | 525 | static void ena_delay_exponential_backoff_us(u32 exp, u32 delay_us) |
---|
524 | 526 | { |
---|
| 527 | + exp = min_t(u32, exp, ENA_MAX_BACKOFF_DELAY_EXP); |
---|
525 | 528 | delay_us = max_t(u32, ENA_MIN_ADMIN_POLL_US, delay_us); |
---|
526 | 529 | delay_us = min_t(u32, delay_us * (1U << exp), ENA_MAX_ADMIN_POLL_US); |
---|
527 | 530 | usleep_range(delay_us, 2 * delay_us); |
---|