Re: [PATCHv2] mfd: twl4030: Fix mismatch in mutex lock-unlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sanjeev,

Thanks. Changes look good to me.

On Mon, Jul 11, 2011 at 8:50 PM, Sanjeev Premi <premi@xxxxxx> wrote:
> A mutex is locked on entry into twl4030_madc_conversion().
> Immediate return on some error conditions leaves the
> mutex locked.
>
> This patch ensures that mutex is always unlocked before
> leaving the function.
>
> Signed-off-by: Sanjeev Premi <premi@xxxxxx>
> Cc: Keerthy <j-keerthy@xxxxxx>
> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
> ---
>
>  Compile tested only.
>
>  Changes since v1:
>   None. Repost after adding Samuel Ortiz to cc: and
>   removed lm-sensors list from to: list.
>
>  drivers/mfd/twl4030-madc.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mfd/twl4030-madc.c b/drivers/mfd/twl4030-madc.c
> index 3941ddc..b5d598c 100644
> --- a/drivers/mfd/twl4030-madc.c
> +++ b/drivers/mfd/twl4030-madc.c
> @@ -530,13 +530,13 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
>        if (ret) {
>                dev_err(twl4030_madc->dev,
>                        "unable to write sel register 0x%X\n", method->sel + 1);
> -               return ret;
> +               goto out;
>        }
>        ret = twl_i2c_write_u8(TWL4030_MODULE_MADC, ch_lsb, method->sel);
>        if (ret) {
>                dev_err(twl4030_madc->dev,
>                        "unable to write sel register 0x%X\n", method->sel + 1);
> -               return ret;
> +               goto out;
>        }
>        /* Select averaging for all channels if do_avg is set */
>        if (req->do_avg) {
> @@ -546,7 +546,7 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
>                        dev_err(twl4030_madc->dev,
>                                "unable to write avg register 0x%X\n",
>                                method->avg + 1);
> -                       return ret;
> +                       goto out;
>                }
>                ret = twl_i2c_write_u8(TWL4030_MODULE_MADC,
>                                       ch_lsb, method->avg);
> @@ -554,7 +554,7 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
>                        dev_err(twl4030_madc->dev,
>                                "unable to write sel reg 0x%X\n",
>                                method->sel + 1);
> -                       return ret;
> +                       goto out;
>                }
>        }
>        if (req->type == TWL4030_MADC_IRQ_ONESHOT && req->func_cb != NULL) {
> --
> 1.7.2.2
>
>



-- 
Regards and Thanks,
Keerthy
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux