Hi Greg,In request_firmware_nowait, when kernel_thread failed, where fw_work is freed ?Thanks, but does userspace will retry if it fails the first time ?+/*
+ * sometime hotplug don't have time to give the firmware the
+ * first time, retry it.
+ */
+static int sleepy_request_firmware(const struct firmware **fw, + const char *name, struct device *dev)
+{
+ if (request_firmware(fw, name, dev) == 0)
+ return 0;
+ msleep(1000);
+ return request_firmware(fw, name, dev);
+}
No, use the async firmware download mode instead of this. That will
solve all of your problems.
The device needs the firmware quickly and after 3-5 seconds without it, it goes berserk.