[PATCH] i2c: samsung: resume race fix

Jean Delvare khali at linux-fr.org
Mon Jan 7 07:25:10 EST 2013


On Mon, 7 Jan 2013 17:35:25 +0530, Naveen Krishna Ch wrote:
> On 7 November 2012 16:14, Jean Delvare <khali at linux-fr.org> wrote:
> > On Wed, 07 Nov 2012 15:58:26 +0530, Naveen Krishna Chatradhi wrote:
> >> Don't unmark the device as suspended until after it's been re-setup.
> >>
> >> The main race would be w.r.t. an i2c driver that gets resumed at the same
> >> time (asyncronously), that is allowed to do a transfer since suspended
> >> is set to 0 before reinit, but really should have seen the -EIO return
> >> instead.
> >>
> >> Signed-off-by: Olof Johansson <olofj at chromium.org>
> >> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen at samsung.com>
> >> ---
> >>  drivers/i2c/busses/i2c-s3c2410.c |    2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> >> index 3e0335f..dbaf920 100644
> >> --- a/drivers/i2c/busses/i2c-s3c2410.c
> >> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> >> @@ -1134,10 +1134,10 @@ static int s3c24xx_i2c_resume(struct device *dev)
> >>       struct platform_device *pdev = to_platform_device(dev);
> >>       struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
> >>
> >> -     i2c->suspended = 0;
> >>       clk_prepare_enable(i2c->clk);
> >>       s3c24xx_i2c_init(i2c);
> >>       clk_disable_unprepare(i2c->clk);
> >> +     i2c->suspended = 0;
> >>
> >>       return 0;
> >>  }
> >
> > Acked-by: Jean Delvare <khali at linux-fr.org>
> I don't see this patch landed any where in linux-i2c tree, Though it was acked.
> Was it missed or should i be doing something for this to be merged ??

Nothing needed from your side AFAIK, Wolfram should pick patches when I
ack them, maybe this one was simply overlooked.

-- 
Jean Delvare



More information about the linux-arm-kernel mailing list