staging: unisys: visornic: delay start of worker thread until netdev created

This only makes sense, since the worker thread depends upon the netdev
existing.

Signed-off-by: Tim Sell <Timothy.Sell@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Tim Sell 2015-07-09 13:27:50 -04:00 committed by Greg Kroah-Hartman
parent 3798ff31d1
commit 1a2e3e3d09

View File

@ -1978,15 +1978,11 @@ static int visornic_probe(struct visor_device *dev)
goto cleanup_xmit_cmdrsp;
}
devdata->thread_wait_ms = 2;
visor_thread_start(&devdata->threadinfo, process_incoming_rsps,
devdata, "vnic_incoming");
err = register_netdev(netdev);
if (err) {
dev_err(&dev->device,
"%s register_netdev failed (%d)\n", __func__, err);
goto cleanup_thread_stop;
goto cleanup_xmit_cmdrsp;
}
/* create debgug/sysfs directories */
@ -1997,16 +1993,17 @@ static int visornic_probe(struct visor_device *dev)
"%s debugfs_create_dir %s failed\n",
__func__, netdev->name);
err = -ENOMEM;
goto cleanup_thread_stop;
goto cleanup_xmit_cmdrsp;
}
devdata->thread_wait_ms = 2;
visor_thread_start(&devdata->threadinfo, process_incoming_rsps,
devdata, "vnic_incoming");
dev_info(&dev->device, "%s success netdev=%s\n",
__func__, netdev->name);
return 0;
cleanup_thread_stop:
visor_thread_stop(&devdata->threadinfo);
cleanup_xmit_cmdrsp:
kfree(devdata->xmit_cmdrsp);