Move the call to hid_add_device() (which calls a device's probe() function)to after the kernel_thread() call which starts the hidp_session() thread.This ensures the Bluetooth receive socket is fully running by the time adevice's probe() function is called. This way, a device can communicate(send and receive) with the Bluetooth device from its probe() function.