diff --git a/target/linux/ar71xx/files/drivers/spi/pb44_spi.c b/target/linux/ar71xx/files/drivers/spi/pb44_spi.c
index 01b5f1cc28adc937e726d34e7bfaaf61720103a5..556c7717c876c5db4d36b46c220aa3e3baa1500a 100644
--- a/target/linux/ar71xx/files/drivers/spi/pb44_spi.c
+++ b/target/linux/ar71xx/files/drivers/spi/pb44_spi.c
@@ -278,9 +278,19 @@ static int pb44_spi_remove(struct platform_device *pdev)
 	return 0;
 }
 
+static void pb44_spi_shutdown(struct platform_device *pdev)
+{
+	int ret;
+
+	ret = pb44_spi_remove(pdev);
+	if (ret)
+		dev_err(&pdev->dev, "shutdown failed with %d\n", ret);
+}
+
 static struct platform_driver pb44_spi_drv = {
 	.probe		= pb44_spi_probe,
 	.remove		= pb44_spi_remove,
+	.shutdown	= pb44_spi_shutdown,
 	.driver		= {
 		.name	= DRV_NAME,
 		.owner	= THIS_MODULE,