All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] regmap: Improve error handling in regcache_sync()
@ 2026-07-13  5:03 phucduc.bui
  2026-07-13  5:03 ` [PATCH 1/2] regcache: Preserve cache synchronization errors " phucduc.bui
  2026-07-13  5:03 ` [PATCH 2/2] regcache: Mark cache dirty if selector register rewrite fails phucduc.bui
  0 siblings, 2 replies; 3+ messages in thread
From: phucduc.bui @ 2026-07-13  5:03 UTC (permalink / raw)
  To: Mark Brown, Greg Kroah-Hartman, rafael
  Cc: Danilo Krummrich, linux-kernel, driver-core, bui duc phuc

From: bui duc phuc <phucduc.bui@gmail.com>

Hi all, 

While working on a cleanup series converting mutex and spinlock usage
to guard() helpers, I received review feedback that regcache_sync()
still has a goto-based error path.

https://lore.kernel.org/all/95f5d6ec-ecc5-4090-ac04-27cdcdc21b8a@sirena.org.uk/

Since guard() helpers should not be mixed with goto-based cleanup, 
I looked into whether the error handling could be simplified.

During that review, I noticed two issues in the current implementation
of regcache_sync():

 1. Cache synchronization errors can be overwritten by the result of
    selector register updates.
 2. cache_dirty is not updated if rewriting a selector register fails,
    leaving it inconsistent with the cache and hardware state. 

Together, these changes make the failure semantics of regcache_sync() 
clearer and eliminate the need for callers to invoke
regcache_mark_dirty() after regcache_sync() fails.

Best regards,
Phuc

bui duc phuc (2):
  regcache: Preserve cache synchronization errors in regcache_sync()
  regcache: Mark cache dirty if selector register rewrite fails

 drivers/base/regmap/regcache.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-13  5:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-13  5:03 [PATCH 0/2] regmap: Improve error handling in regcache_sync() phucduc.bui
2026-07-13  5:03 ` [PATCH 1/2] regcache: Preserve cache synchronization errors " phucduc.bui
2026-07-13  5:03 ` [PATCH 2/2] regcache: Mark cache dirty if selector register rewrite fails phucduc.bui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.