#include <linux/vmalloc.h>
#include <linux/sched.h>
#include <linux/semaphore.h>
+#include <linux/async.h>
#include <linux/hid.h>
#include <linux/hiddev.h>
* not first have hid-generic binding only to have it replaced
* immediately afterwards with a specialized driver.
*/
- request_module("hid:b%04Xg%04Xv%08Xp%08X",
- hdev->bus, hdev->group, hdev->vendor, hdev->product);
+ if (!current_is_async())
+ request_module("hid:b%04Xg%04Xv%08Xp%08X", hdev->bus,
+ hdev->group, hdev->vendor, hdev->product);
hid_debug_register(hdev, dev_name(&hdev->dev));
ret = device_add(&hdev->dev);