diff --git a/mboxd_msg.c b/mboxd_msg.c
index 7304521..ffeae0e 100644
--- a/mboxd_msg.c
+++ b/mboxd_msg.c
@@ -135,7 +135,7 @@
  */
 static uint16_t get_suggested_timeout(struct mbox_context *context)
 {
-	struct window_context *window = find_largest_window(context);
+	struct window_context *window = windows_find_largest(context);
 	uint32_t max_size_mb = window ? (window->size >> 20) : 0;
 	uint16_t ret;
 
diff --git a/windows.c b/windows.c
index 37fceb1..2313e10 100644
--- a/windows.c
+++ b/windows.c
@@ -468,12 +468,12 @@
 }
 
 /*
- * find_largest_window() - Find the largest window in the window cache
+ * windows_find_largest() - Find the largest window in the window cache
  * @context:	The mbox context pointer
  *
  * Return:	The largest window
  */
-struct window_context *find_largest_window(struct mbox_context *context)
+struct window_context *windows_find_largest(struct mbox_context *context)
 {
 	struct window_context *largest = NULL, *cur;
 	uint32_t max_size = 0;
diff --git a/windows.h b/windows.h
index 3cb2a52..0c6fbb3 100644
--- a/windows.h
+++ b/windows.h
@@ -26,7 +26,7 @@
 void window_reset(struct mbox_context *context, struct window_context *window);
 void windows_reset_all(struct mbox_context *context, bool set_bmc_event);
 struct window_context *windows_find_oldest(struct mbox_context *context);
-struct window_context *find_largest_window(struct mbox_context *context);
+struct window_context *windows_find_largest(struct mbox_context *context);
 struct window_context *search_windows(struct mbox_context *context,
 				      uint32_t offset, bool exact);
 int create_map_window(struct mbox_context *context,
