[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201105192553.GB18462@duo.ucw.cz>
Date: Thu, 5 Nov 2020 20:25:53 +0100
From: Pavel Machek <pavel@....cz>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>
Subject: Re: [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
Download attachment "signature.asc" of type "application/pgp-signature" (196 bytes)
Powered by blists - more mailing lists