• Sergei Shtylyov's avatar
    i2c: rcar: fix MNR interrupt handling · dd318b0d
    Sergei Shtylyov authored
    Sometimes the MNR and MST interrupts happen simultaneously  (stop  automatically
    follows NACK, according to the manuals) and in such case the ID_NACK flag  isn't
    set since the MST interrupt handling precedes MNR and all interrupts are cleared
    and disabled then, so that MNR interrupt is never noticed -- this causes NACK'ed
    transfers to be falsely reported as successful. Exchanging MNR and  MST handlers
    fixes this issue, however the MNR bit  somehow  gets set again even after  being
    explicitly cleared, so I decided to completely suppress handling of all disabled
    interrupts (which is a good thing anyway)...
    Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
    dd318b0d
i2c-rcar.c 14.3 KB