Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18669eab authored by Jean Delvare's avatar Jean Delvare
Browse files

i2c: Hide probe errors caused by ACPI resource conflicts

When an ACPI resource conflict is detected, error messages are already
printed by ACPI. There's no point in causing the driver core to print
more error messages, so return one of the error codes for which no
message is printed.

This fixes bug #14293:
http://bugzilla.kernel.org/show_bug.cgi?id=14293



Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 03f1805a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -364,7 +364,7 @@ static int __devinit amd756_probe(struct pci_dev *pdev,
	error = acpi_check_region(amd756_ioport, SMB_IOSIZE,
				  amd756_driver.name);
	if (error)
		return error;
		return -ENODEV;

	if (!request_region(amd756_ioport, SMB_IOSIZE, amd756_driver.name)) {
		dev_err(&pdev->dev, "SMB region 0x%x already in use!\n",
+3 −1
Original line number Diff line number Diff line
@@ -376,8 +376,10 @@ static int __devinit amd8111_probe(struct pci_dev *dev,
	smbus->size = pci_resource_len(dev, 0);

	error = acpi_check_resource_conflict(&dev->resource[0]);
	if (error)
	if (error) {
		error = -ENODEV;
		goto out_kfree;
	}

	if (!request_region(smbus->base, smbus->size, amd8111_driver.name)) {
		error = -EBUSY;
+3 −1
Original line number Diff line number Diff line
@@ -732,8 +732,10 @@ static int __devinit i801_probe(struct pci_dev *dev, const struct pci_device_id
	}

	err = acpi_check_resource_conflict(&dev->resource[SMBBAR]);
	if (err)
	if (err) {
		err = -ENODEV;
		goto exit;
	}

	err = pci_request_region(dev, SMBBAR, i801_driver.name);
	if (err) {
+1 −1
Original line number Diff line number Diff line
@@ -281,7 +281,7 @@ static int __devinit sch_probe(struct pci_dev *dev,
		return -ENODEV;
	}
	if (acpi_check_region(sch_smba, SMBIOSIZE, sch_driver.name))
		return -EBUSY;
		return -ENODEV;
	if (!request_region(sch_smba, SMBIOSIZE, sch_driver.name)) {
		dev_err(&dev->dev, "SMBus region 0x%x already in use!\n",
			sch_smba);
+2 −2
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ static int __devinit piix4_setup(struct pci_dev *PIIX4_dev,
	}

	if (acpi_check_region(piix4_smba, SMBIOSIZE, piix4_driver.name))
		return -EBUSY;
		return -ENODEV;

	if (!request_region(piix4_smba, SMBIOSIZE, piix4_driver.name)) {
		dev_err(&PIIX4_dev->dev, "SMBus region 0x%x already in use!\n",
@@ -260,7 +260,7 @@ static int __devinit piix4_setup_sb800(struct pci_dev *PIIX4_dev,

	piix4_smba = ((smba_en_hi << 8) | smba_en_lo) & 0xffe0;
	if (acpi_check_region(piix4_smba, SMBIOSIZE, piix4_driver.name))
		return -EBUSY;
		return -ENODEV;

	if (!request_region(piix4_smba, SMBIOSIZE, piix4_driver.name)) {
		dev_err(&PIIX4_dev->dev, "SMBus region 0x%x already in use!\n",
Loading