Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus
[firefly-linux-kernel-4.4.55.git] / drivers / parport / parport_pc.c
index 7ae20b7a56bcb30c1b9d435458afb1444334dc8b..53d15b30636af7048c9fcdf78a53e09d73460c53 100644 (file)
@@ -3339,13 +3339,14 @@ static void __exit parport_pc_exit(void)
        while (!list_empty(&ports_list)) {
                struct parport_pc_private *priv;
                struct parport *port;
+               struct device *dev;
                priv = list_entry(ports_list.next,
                                  struct parport_pc_private, list);
                port = priv->port;
-               if (port->dev && port->dev->bus == &platform_bus_type)
-                       platform_device_unregister(
-                               to_platform_device(port->dev));
+               dev = port->dev;
                parport_pc_unregister_port(port);
+               if (dev && dev->bus == &platform_bus_type)
+                       platform_device_unregister(to_platform_device(dev));
        }
 }