diff --git a/kernel/ethosu_inference.c b/kernel/ethosu_inference.c
index 1a3c45a..58501f7 100644
--- a/kernel/ethosu_inference.c
+++ b/kernel/ethosu_inference.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020,2022 Arm Limited.
+ * Copyright 2020,2022-2023 Arm Limited and/or its affiliates
  *
  * This program is free software and is provided to you under the terms of the
  * GNU General Public License version 2 as published by the Free Software
@@ -141,36 +141,6 @@
 	wake_up_interruptible(&inf->waitq);
 }
 
-static int ethosu_inference_resend(struct ethosu_mailbox_msg *msg)
-{
-	struct ethosu_inference *inf =
-		container_of(msg, typeof(*inf), msg);
-	int ret;
-
-	/* Don't resend request if response has already been received */
-	if (inf->done)
-		return 0;
-
-	/* If marked as ABORTING simply fail it and return */
-	if (inf->status == ETHOSU_UAPI_STATUS_ABORTING) {
-		ethosu_inference_fail(msg);
-
-		return 0;
-	}
-
-	/* Decrement reference count for pending request */
-	ret = ethosu_inference_put(inf);
-	if (ret)
-		return 0;
-
-	/* Resend request */
-	ret = ethosu_inference_send(inf);
-	if (ret)
-		return ret;
-
-	return 0;
-}
-
 static bool ethosu_inference_verify(struct file *file)
 {
 	return file->f_op == &ethosu_inference_fops;
@@ -322,7 +292,6 @@
 	kref_init(&inf->kref);
 	init_waitqueue_head(&inf->waitq);
 	inf->msg.fail = ethosu_inference_fail;
-	inf->msg.resend = ethosu_inference_resend;
 
 	/* Add inference to pending list */
 	ret = ethosu_mailbox_register(&edev->mailbox, &inf->msg);
