When reverting an update property changeset entry that created a
property the reverse operation is a remove property and not an update.

Signed-off-by: Pantelis Antoniou <pantelis.anton...@konsulko.com>
---
 drivers/of/dynamic.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c
index c647bd1..4145b44 100644
--- a/drivers/of/dynamic.c
+++ b/drivers/of/dynamic.c
@@ -497,6 +497,11 @@ static void __of_changeset_entry_invert(struct 
of_changeset_entry *ce,
        case OF_RECONFIG_UPDATE_PROPERTY:
                rce->old_prop = ce->prop;
                rce->prop = ce->old_prop;
+               /* update was used but original property did not exist */
+               if (!rce->prop) {
+                       rce->action = OF_RECONFIG_REMOVE_PROPERTY;
+                       rce->prop = ce->prop;
+               }
                break;
        }
 }
-- 
1.7.12

Reply via email to