i2c: designware: Fix an error handling path in i2c_dw_pci_probe()
[ Upstream commit1cfe51ef07] If navi_amd_register_client() fails, the previous i2c_dw_probe() call should be undone by a corresponding i2c_del_adapter() call, as already done in the remove function. Fixes:17631e8ca2("i2c: designware: Add driver support for AMD NAVI GPU") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: <stable@vger.kernel.org> # v5.13+ Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Link: https://lore.kernel.org/r/fcd9651835a32979df8802b2db9504c523a8ebbb.1747158983.git.christophe.jaillet@wanadoo.fr Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ad40588df1
commit
e668cbeb95
@@ -335,9 +335,11 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
|
||||
|
||||
if ((dev->flags & MODEL_MASK) == MODEL_AMD_NAVI_GPU) {
|
||||
dev->slave = i2c_new_ccgx_ucsi(&dev->adapter, dev->irq, &dgpu_node);
|
||||
if (IS_ERR(dev->slave))
|
||||
if (IS_ERR(dev->slave)) {
|
||||
i2c_del_adapter(&dev->adapter);
|
||||
return dev_err_probe(device, PTR_ERR(dev->slave),
|
||||
"register UCSI failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
pm_runtime_set_autosuspend_delay(device, 1000);
|
||||
|
||||
Reference in New Issue
Block a user