(NULL device *) is printed in log message in pi433_probe and
pi433_get_minor functions due to device->dev being used prior to call to
device_create function.

Signed-off-by: Marcin Ciupak <marcin.s.ciu...@gmail.com>
---
 drivers/staging/pi433/pi433_if.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index d946838450d4..bc17676169cb 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -1051,7 +1051,7 @@ static int pi433_get_minor(struct pi433_device *device)
                device->minor = retval;
                retval = 0;
        } else if (retval == -ENOSPC) {
-               dev_err(device->dev, "too many pi433 devices\n");
+               dev_err(&device->spi->dev, "too many pi433 devices\n");
                retval = -EINVAL;
        }
        mutex_unlock(&minor_lock);
@@ -1159,19 +1159,10 @@ static int pi433_probe(struct spi_device *spi)
        SET_CHECKED(rf69_set_output_power_level (spi, 13));
        SET_CHECKED(rf69_set_antenna_impedance  (spi, fiftyOhm));
 
-       /* start tx thread */
-       device->tx_task_struct = kthread_run(pi433_tx_thread,
-                                            device,
-                                            "pi433_tx_task");
-       if (IS_ERR(device->tx_task_struct)) {
-               dev_dbg(device->dev, "start of send thread failed");
-               goto send_thread_failed;
-       }
-
        /* determ minor number */
        retval = pi433_get_minor(device);
        if (retval) {
-               dev_dbg(device->dev, "get of minor number failed");
+               dev_dbg(&spi->dev, "get of minor number failed");
                goto minor_failed;
        }
 
@@ -1194,6 +1185,15 @@ static int pi433_probe(struct spi_device *spi)
                        device->minor);
        }
 
+       /* start tx thread */
+       device->tx_task_struct = kthread_run(pi433_tx_thread,
+                                            device,
+                                            "pi433_tx_task");
+       if (IS_ERR(device->tx_task_struct)) {
+               dev_dbg(device->dev, "start of send thread failed");
+               goto send_thread_failed;
+       }
+
        /* create cdev */
        device->cdev = cdev_alloc();
        device->cdev->owner = THIS_MODULE;
@@ -1210,12 +1210,12 @@ static int pi433_probe(struct spi_device *spi)
        return 0;
 
 cdev_failed:
+       kthread_stop(device->tx_task_struct);
+send_thread_failed:
        device_destroy(pi433_class, device->devt);
 device_create_failed:
        pi433_free_minor(device);
 minor_failed:
-       kthread_stop(device->tx_task_struct);
-send_thread_failed:
        free_GPIOs(device);
 GPIO_failed:
        kfree(device);
-- 
2.15.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to