Re: [PATCH 4.19 178/191] rtc: rx8010: dont modify the global rtc ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux