• T
    i2c: tegra: recover from spurious interrupt storm · cb63c62d
    Todd Poynor 提交于
    Re-init the I2C controller when an IRQ arrives with no
    I2C_INT_STATUS bits set to indicate why the interrupt was sent.
    Storms of such mystery interrupts are infrequently seen.
    
    Dump some more status when these interrupts arrive.  Set an error
    for the current request and wake up the requester (rather than
    timing out the request or possibly silently ignoring the interrupts).
    
    If the I2C block is inside the DVC, also ACK the DVC I2C transfer
    done interrupt in the ISR error return path, as is done for the
    normal return path.
    Signed-off-by: NTodd Poynor <toddpoynor@google.com>
    [swarren: Fix minor checkpatch whitespace issue, commit tag]
    Signed-off-by: NStephen Warren <swarren@nvidia.com>
    Signed-off-by: NBen Dooks <ben-linux@fluff.org>
    cb63c62d
i2c-tegra.c 19.3 KB