diff options
author | Luwei Zhou <b45643@freescale.com> | 2013-11-29 12:54:49 +0800 |
---|---|---|
committer | Luwei Zhou <b45643@freescale.com> | 2013-11-29 15:28:32 +0800 |
commit | c18d944f8dd21fbf9257a34ce26498bfdc8869af (patch) | |
tree | 17df4c765051696f515dcf287fcf104955584064 | |
parent | 465aa30deea0cc927186170e63180cb7307366d0 (diff) |
ENGR00290176 mxc: mlb: Fix MLB suspend/resume issue
There is risk that mlb register will be access when clock
is closed. This patch fix it.
Signed-off-by: Luwei Zhou <b45643@freescale.com>
(cherry picked from commit c2cd7fb85116694372ee3228c939fb958c261835)
-rwxr-xr-x | drivers/mxc/mlb/mxc_mlb150.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/mxc/mlb/mxc_mlb150.c b/drivers/mxc/mlb/mxc_mlb150.c index 57708f1267dc..fe0239a8df0c 100755 --- a/drivers/mxc/mlb/mxc_mlb150.c +++ b/drivers/mxc/mlb/mxc_mlb150.c @@ -2702,14 +2702,14 @@ static int mxc_mlb150_suspend(struct platform_device *pdev, pm_message_t state) struct mlb_data *drvdata = platform_get_drvdata(pdev); struct mlb_dev_info *pdevinfo = drvdata->devinfo; - mlb150_dev_exit(); - if (pdevinfo && atomic_read(&pdevinfo->on) && (pdevinfo->fps >= CLK_2048FS)) clk_disable_unprepare(drvdata->clk_mlb6p); - if (pdevinfo && atomic_read(&pdevinfo->opencnt)) + if (pdevinfo && atomic_read(&pdevinfo->opencnt)) { + mlb150_dev_exit(); clk_disable_unprepare(drvdata->clk_mlb3p); + } return 0; } @@ -2719,15 +2719,15 @@ static int mxc_mlb150_resume(struct platform_device *pdev) struct mlb_data *drvdata = platform_get_drvdata(pdev); struct mlb_dev_info *pdevinfo = drvdata->devinfo; - if (pdevinfo && atomic_read(&pdevinfo->opencnt)) + if (pdevinfo && atomic_read(&pdevinfo->opencnt)) { clk_prepare_enable(drvdata->clk_mlb3p); + mlb150_dev_init(); + } if (pdevinfo && atomic_read(&pdevinfo->on) && (pdevinfo->fps >= CLK_2048FS)) clk_prepare_enable(drvdata->clk_mlb6p); - mlb150_dev_init(); - return 0; } #else |