usb: dwc2: gadget: Set extcon state for usb cable as always true
[platform/kernel/linux-rpi.git] / drivers / i3c / master.c
index 08aeb69..0e9ff55 100644 (file)
@@ -1308,7 +1308,11 @@ static int i3c_master_get_i3c_addrs(struct i3c_dev_desc *dev)
        if (dev->info.static_addr) {
                status = i3c_bus_get_addr_slot_status(&master->bus,
                                                      dev->info.static_addr);
-               if (status != I3C_ADDR_SLOT_FREE)
+               /* Since static address and assigned dynamic address can be
+                * equal, allow this case to pass.
+                */
+               if (status != I3C_ADDR_SLOT_FREE &&
+                   dev->info.static_addr != dev->boardinfo->init_dyn_addr)
                        return -EBUSY;
 
                i3c_bus_set_addr_slot_status(&master->bus,
@@ -1521,9 +1525,11 @@ i3c_master_register_new_i3c_devs(struct i3c_master_controller *master)
                        desc->dev->dev.of_node = desc->boardinfo->of_node;
 
                ret = device_register(&desc->dev->dev);
-               if (ret)
+               if (ret) {
                        dev_err(&master->dev,
                                "Failed to add I3C device (err = %d)\n", ret);
+                       put_device(&desc->dev->dev);
+               }
        }
 }