This makes the code more compact and error handling more robust. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> --- drivers/input/touchscreen/ili210x.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c index 55f3852c8dae..4573844c3395 100644 --- a/drivers/input/touchscreen/ili210x.c +++ b/drivers/input/touchscreen/ili210x.c @@ -860,19 +860,17 @@ static ssize_t ili210x_firmware_update_store(struct device *dev, * the touch controller to disable the IRQs during update, so we have * to do it this way here. */ - disable_irq(client->irq); + scoped_guard(disable_irq, &client->irq) { + dev_dbg(dev, "Firmware update started, firmware=%s\n", fwname); - dev_dbg(dev, "Firmware update started, firmware=%s\n", fwname); + ili210x_hardware_reset(priv->reset_gpio); - ili210x_hardware_reset(priv->reset_gpio); + error = ili210x_do_firmware_update(priv, fwbuf, ac_end, df_end); - error = ili210x_do_firmware_update(priv, fwbuf, ac_end, df_end); + ili210x_hardware_reset(priv->reset_gpio); - ili210x_hardware_reset(priv->reset_gpio); - - dev_dbg(dev, "Firmware update ended, error=%i\n", error); - - enable_irq(client->irq); + dev_dbg(dev, "Firmware update ended, error=%i\n", error); + } return error ?: count; } -- 2.45.2.505.gda0bf45e8d-goog