The option to load firmware asynchronously were added due to
a requirement with a few versions of udev. It turns that this was
a bad idea and caused regressions on drxk-based devices.
So, we end by only letting the firmware to be loaded syncronously
everywhere.
So, let's remove the bad code.
This patch partially reverts the changeset 
8e30783b0b3.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
 
  *                             A value of 0 (default) or lower indicates that
  *                             the correct number of parameters will be
  *                             automatically detected.
- * @load_firmware_sync:                Force the firmware load to be synchronous.
  *
  * On the *_gpio vars, bit 0 is UIO-1, bit 1 is UIO-2 and bit 2 is
  * UIO-3.
        bool    parallel_ts;
        bool    dynamic_clk;
        bool    enable_merr_cfg;
-       bool    load_firmware_sync;
 
        bool    antenna_dvbt;
        u16     antenna_gpio;
 
 
        /* Load firmware and initialize DRX-K */
        if (state->microcode_name) {
-               if (config->load_firmware_sync) {
-                       const struct firmware *fw = NULL;
+               const struct firmware *fw = NULL;
 
-                       status = request_firmware(&fw, state->microcode_name,
-                                                 state->i2c->dev.parent);
-                       if (status < 0)
-                               fw = NULL;
-                       load_firmware_cb(fw, state);
-               } else {
-                       status = request_firmware_nowait(THIS_MODULE, 1,
-                                             state->microcode_name,
-                                             state->i2c->dev.parent,
-                                             GFP_KERNEL,
-                                             state, load_firmware_cb);
-                       if (status < 0) {
-                               pr_err("failed to request a firmware\n");
-                               return NULL;
-                       }
-               }
+               status = request_firmware(&fw, state->microcode_name,
+                                         state->i2c->dev.parent);
+               if (status < 0)
+                       fw = NULL;
+               load_firmware_cb(fw, state);
        } else if (init_drxk(state) < 0)
                goto error;
 
 
        .no_i2c_bridge = 1,
        .microcode_name = "dvb-usb-terratec-h5-drxk.fw",
        .qam_demod_parameter_count = 2,
-       .load_firmware_sync = true,
 };
 
 static struct drxk_config hauppauge_930c_drxk = {
        .microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw",
        .chunk_size = 56,
        .qam_demod_parameter_count = 2,
-       .load_firmware_sync = true,
 };
 
 static struct drxk_config terratec_htc_stick_drxk = {
        .antenna_dvbt = true,
        /* The windows driver uses the same. This will disable LNA. */
        .antenna_gpio = 0x6,
-       .load_firmware_sync = true,
 };
 
 static struct drxk_config maxmedia_ub425_tc_drxk = {
        .no_i2c_bridge = 1,
        .microcode_name = "dvb-demod-drxk-01.fw",
        .chunk_size = 62,
-       .load_firmware_sync = true,
        .qam_demod_parameter_count = 2,
 };
 
        .chunk_size = 58,
        .antenna_dvbt = true, /* disable LNA */
        .antenna_gpio = (1 << 2), /* disable LNA */
-       .load_firmware_sync = true,
 };
 
 static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)