lkml.org 
[lkml]   [2020]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4.19 178/191] rtc: rx8010: dont modify the global rtc ops
    Hi!

    > commit d3b14296da69adb7825022f3224ac6137eb30abf upstream.
    >
    > The way the driver is implemented is buggy for the (admittedly unlikely)
    > use case where there are two RTCs with one having an interrupt configured
    > and the second not. This is caused by the fact that we use a global
    > rtc_class_ops struct which we modify depending on whether the irq number
    > is present or not.

    While this fixes very unlikely configuration with two RTCs...

    > Fix it by using two const ops structs with and without alarm operations.
    > While at it: not being able to request a configured interrupt is an error
    > so don't ignore it and bail out of probe().

    ...it contains unrelated changes and in particular will break
    operation when IRQ can not be requested.

    I don't believe we need it in -stable.

    Best regards,
    Pavel

    > @@ -468,16 +478,16 @@ static int rx8010_probe(struct i2c_clien
    >
    > if (err) {
    > dev_err(&client->dev, "unable to request IRQ\n");
    > - client->irq = 0;
    > - } else {
    > - rx8010_rtc_ops.read_alarm = rx8010_read_alarm;
    > - rx8010_rtc_ops.set_alarm = rx8010_set_alarm;
    > - rx8010_rtc_ops.alarm_irq_enable = rx8010_alarm_irq_enable;
    > + return err;
    > }

    --
    http://www.livejournal.com/~pavelmachek
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2020-11-05 20:26    [W:4.110 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site