lkml.org 
[lkml]   [2018]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] ARM i.MX: Fix a kernel panic in i2c_imx_clk_notifier_call().
    Date
    Hi Fabio,

    Fabio Estevam <festevam@gmail.com> writes:

    > Please provide a commit log, giving some context to your fix.

    Well, I hope Lucas could add something here. I am uncertain how it was
    supposed to work, the ndata->clk (the pointer, not the clk pointed by
    it) can't be at the same time a member of imx_i2c_struct, and I believe
    the macro only does simple arithmetics to get to the outer struct.

    @@ -510,9 +510,9 @@ static int i2c_imx_clk_notifier_call(struct notifier_block *nb,
    unsigned long action, void *data)
    {
    struct clk_notifier_data *ndata = data;
    - struct imx_i2c_struct *i2c_imx = container_of(&ndata->clk,
    + struct imx_i2c_struct *i2c_imx = container_of(nb,
    struct imx_i2c_struct,
    - clk);
    + clk_change_nb);

    > Is this a regression?

    Probably (it went in between 4.16 and 4.17, commit id is
    90ad2cbe88c22d0215225ab9594eeead0eb24fde). However this part may be
    unused on many boards (apparently it only fires up if the "IPG" clock
    rate changes), so it may not manifest itself. I only hit it when I added
    a custom driver (using/requesting a special clock derived from IPG).
    --
    Krzysztof Halasa

    Industrial Research Institute for Automation and Measurements PIAP
    Al. Jerozolimskie 202, 02-486 Warsaw, Poland

    \
     
     \ /
      Last update: 2018-12-03 14:28    [W:3.538 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site