hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/drivers/net/ethernet/amazon/ena/ena_com.c
....@@ -35,6 +35,8 @@
3535
3636 #define ENA_REGS_ADMIN_INTR_MASK 1
3737
38
+#define ENA_MAX_BACKOFF_DELAY_EXP 16U
39
+
3840 #define ENA_MIN_ADMIN_POLL_US 100
3941
4042 #define ENA_MAX_ADMIN_POLL_US 5000
....@@ -522,6 +524,7 @@
522524
523525 static void ena_delay_exponential_backoff_us(u32 exp, u32 delay_us)
524526 {
527
+ exp = min_t(u32, exp, ENA_MAX_BACKOFF_DELAY_EXP);
525528 delay_us = max_t(u32, ENA_MIN_ADMIN_POLL_US, delay_us);
526529 delay_us = min_t(u32, delay_us * (1U << exp), ENA_MAX_ADMIN_POLL_US);
527530 usleep_range(delay_us, 2 * delay_us);