@@ -282,6 +282,7 @@ int rmi_f34_update_firmware(struct f34_data *f34, const struct firmware *fw)
static int rmi_firmware_update(struct rmi_driver_data *data,
const struct firmware *fw)
{
+ struct rmi_device_platform_data *pdata = rmi_get_platform_data(rmi_dev);
struct device *dev = &data->rmi_dev->dev;
struct f34_data *f34;
int ret;
@@ -305,6 +306,8 @@ static int rmi_firmware_update(struct rmi_driver_data *data,
if (ret)
return ret;
+ disable_irq(pdata->irq);
+
/* Tear down functions and re-probe */
rmi_free_function_list(data->rmi_dev);
@@ -324,6 +327,8 @@ static int rmi_firmware_update(struct rmi_driver_data *data,
f34 = dev_get_drvdata(&data->f34_container->dev);
+ enable_irq(pdata->irq);
+
/* Perform firmware update */
ret = rmi_f34_update_firmware(f34, fw);