Message ID | 20191004122342.22018-1-amelie.delaunay@st.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 2fd215b8fdbe4d3a609adbe3a323696393cb1e53 |
Headers | show |
Series | [1/1] pinctrl: stmfx: fix null pointer on remove | expand |
On Fri, Oct 4, 2019 at 2:23 PM Amelie Delaunay <amelie.delaunay@st.com> wrote: > dev_get_platdata(&pdev->dev) returns a pointer on struct stmfx_pinctrl, > not on struct stmfx (platform_set_drvdata(pdev, pctl); in probe). > Pointer on struct stmfx is stored in driver data of pdev parent (in probe: > struct stmfx *stmfx = dev_get_drvdata(pdev->dev.parent);). > > Fixes: 1490d9f841b1 ("pinctrl: Add STMFX GPIO expander Pinctrl/GPIO driver") > Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> Patch applied for fixes. Yours, Linus Walleij
diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c index 974973777395..564660028fcc 100644 --- a/drivers/pinctrl/pinctrl-stmfx.c +++ b/drivers/pinctrl/pinctrl-stmfx.c @@ -705,7 +705,7 @@ static int stmfx_pinctrl_probe(struct platform_device *pdev) static int stmfx_pinctrl_remove(struct platform_device *pdev) { - struct stmfx *stmfx = dev_get_platdata(&pdev->dev); + struct stmfx *stmfx = dev_get_drvdata(pdev->dev.parent); return stmfx_function_disable(stmfx, STMFX_FUNC_GPIO |
dev_get_platdata(&pdev->dev) returns a pointer on struct stmfx_pinctrl, not on struct stmfx (platform_set_drvdata(pdev, pctl); in probe). Pointer on struct stmfx is stored in driver data of pdev parent (in probe: struct stmfx *stmfx = dev_get_drvdata(pdev->dev.parent);). Fixes: 1490d9f841b1 ("pinctrl: Add STMFX GPIO expander Pinctrl/GPIO driver") Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> --- drivers/pinctrl/pinctrl-stmfx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)