i2c: i801: unregister tco_pdev in i801_probe() error path
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 14 Sep 2023 21:08:44 +0000 (23:08 +0200)
committerWolfram Sang <wsa@kernel.org>
Tue, 19 Sep 2023 09:09:45 +0000 (11:09 +0200)
We have to unregister tco_pdev also if i2c_add_adapter() fails.

Fixes: 9424693035a5 ("i2c: i801: Create iTCO device on newer Intel PCHs")
Cc: stable@vger.kernel.org
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-i801.c

index 73ae064321331d9bd920299096698b1456944388..1d855258a45dc3c68c71280cb791f77383f38457 100644 (file)
@@ -1754,6 +1754,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
                "SMBus I801 adapter at %04lx", priv->smba);
        err = i2c_add_adapter(&priv->adapter);
        if (err) {
+               platform_device_unregister(priv->tco_pdev);
                i801_acpi_remove(priv);
                return err;
        }