Need help determining if the change is warranted.
In the file drivers/leds/flash/leds-lm3601x.c, function lm3601x_strobe_set, the calls to regmap_update_bits aren't checked for errors. I am unsure whether adding the checks is warranted, since lm3601x_read_faults might cover the conditions that can cause regmap_update_bits to fail there. On the other hand, if this is not true, then lm3601x_strobe_set can fail silently. Also, all other calls to regmap_update_bit in the driver are checked or directly returned. -- Anton Gusev
This may be a resend. My first msg may be stuck in moderation, because I sent w a new email addr. On Mon, Mar 27, 2023 at 02:34:33PM +0300, Anton Gusev wrote:
In the file drivers/leds/flash/leds-lm3601x.c, function lm3601x_strobe_set, the calls to regmap_update_bits aren't checked for errors.
I am unsure whether adding the checks is warranted, since lm3601x_read_faults might cover the conditions that can cause regmap_update_bits to fail there. On the other hand, if this is not true, then lm3601x_strobe_set can fail silently. Also, all other calls to regmap_update_bit in the driver are checked or directly returned. -- Anton Gusev
Hi Anton, I don't see a patch posted for this, so I'll go ahead and respond. It seems *something* can be improved here. Either examine those ret values as they roll in, or stop assigning those ret values. Maybe, as you guess, lm3601x_read_faults() is doing the needed checks. That's something you could dig into further before posting the patch. Also, note the answer might not be the same for all 3 of those calls. Alison
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Sat, May 27, 2023 at 1:37 AM Alison Schofield <alison.schofield@intel.com> wrote:
This may be a resend. My first msg may be stuck in moderation, because I sent w a new email addr.
On Mon, Mar 27, 2023 at 02:34:33PM +0300, Anton Gusev wrote:
In the file drivers/leds/flash/leds-lm3601x.c, function lm3601x_strobe_set, the calls to regmap_update_bits aren't checked for errors.
I am unsure whether adding the checks is warranted, since lm3601x_read_faults might cover the conditions that can cause regmap_update_bits to fail there. On the other hand, if this is not true, then lm3601x_strobe_set can fail silently. Also, all other calls to regmap_update_bit in the driver are checked or directly returned. -- Anton Gusev
Hi Anton,
I don't see a patch posted for this, so I'll go ahead and respond.
It seems *something* can be improved here. Either examine those ret values as they roll in, or stop assigning those ret values. Maybe, as you guess, lm3601x_read_faults() is doing the needed checks. That's something you could dig into further before posting the patch. Also, note the answer might not be the same for all 3 of those calls.
Alison
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
It's unusual for an I2C bus would suddenly stop working, so just one check at the beginning of the function is enough. I would remove all ret assignments apart from the first one for every function on that driver.
On Sat, 27 May 2023 07:05:40 +0100, Lucas Tanure said:
It's unusual for an I2C bus would suddenly stop working, so just one check at the beginning of the function is enough. I would remove all ret assignments apart from the first one for every function on that driver.
By the same token, it's somewhat unusual for an I2C bus to stop working once it's been probed and initialized, so maybe the first one is superfluous as well :) (Just playing devil's advocate here - after 4 decades of this stuff, I've hit enough systems that have gotten wedged on unusual situations. The worst one was an 18 month chase for why on occasion a petabyte-scale disk array hanging off a bunch of FiberChannel connections would read from the wrong LUN. We finally figured out it was actually a firmware bug in the 10Gig ethernet card. But probably the best advice is this one variously attributed to Tom Duff at Bell Labs (yeah the guy who came up with the Duff Device) or Henry Spencer: Never test for an error condition you don't know how to handle.... (And that 10gig issue probably needed Casey Schaufler of SGI's suggested error code: -EGADS - Violates the principle of least surprise.
participants (4)
-
Alison Schofield -
Anton Gusev -
Lucas Tanure -
Valdis Klētnieks