staging:iio: fix removal path to allow correct freeing.
[pandora-kernel.git] / drivers / staging / iio / adc / adt7310.c
index cbbd349..c9e0be3 100644 (file)
@@ -856,12 +856,13 @@ static int __devexit adt7310_remove(struct spi_device *spi_dev)
        struct iio_dev *indio_dev = dev_get_drvdata(&spi_dev->dev);
        unsigned long *adt7310_platform_data = spi_dev->dev.platform_data;
 
+       iio_device_unregister(indio_dev);
        dev_set_drvdata(&spi_dev->dev, NULL);
        if (adt7310_platform_data[0])
                free_irq(adt7310_platform_data[0], indio_dev);
        if (spi_dev->irq)
                free_irq(spi_dev->irq, indio_dev);
-       iio_device_unregister(indio_dev);
+       iio_free_device(indio_dev);
 
        return 0;
 }