--- /dev/null
+From 1e948479b3d63e3ac0ecca13cbf4921c7d17c168 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Wed, 26 Apr 2017 12:24:21 +0200
+Subject: serial: ifx6x60: fix use-after-free on module unload
+
+From: Johan Hovold <johan@kernel.org>
+
+commit 1e948479b3d63e3ac0ecca13cbf4921c7d17c168 upstream.
+
+Make sure to deregister the SPI driver before releasing the tty driver
+to avoid use-after-free in the SPI remove callback where the tty
+devices are deregistered.
+
+Fixes: 72d4724ea54c ("serial: ifx6x60: Add modem power off function in the platform reboot process")
+Cc: Jun Chen <jun.d.chen@intel.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/tty/serial/ifx6x60.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/ifx6x60.c
++++ b/drivers/tty/serial/ifx6x60.c
+@@ -1379,9 +1379,9 @@ static struct spi_driver ifx_spi_driver
+ static void __exit ifx_spi_exit(void)
+ {
+ /* unregister */
++ spi_unregister_driver((void *)&ifx_spi_driver);
+ tty_unregister_driver(tty_drv);
+ put_tty_driver(tty_drv);
+- spi_unregister_driver((void *)&ifx_spi_driver);
+ unregister_reboot_notifier(&ifx_modem_reboot_notifier_block);
+ }
+