]> git.baikalelectronics.ru Git - kernel.git/commit
spi/acpi: fix incorrect ACPI parent check
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 19 Jun 2019 09:52:54 +0000 (11:52 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 19 Jun 2019 10:54:29 +0000 (11:54 +0100)
commita8a1a6d8c3b47f90d7b92240a7ce0eeb39a8dfad
treeff9288b12f6edc5d55cadc40b7626a439648fa2b
parent575e3c5f212d471bcd53997a021a8c48ba1c6789
spi/acpi: fix incorrect ACPI parent check

The ACPI device object parsing code for SPI slaves enumerates the
entire ACPI namespace to look for devices that refer to the master
in question via the 'resource_source' field in the 'SPISerialBus'
resource. If that field does not refer to a valid ACPI device or
if it refers to the wrong SPI master, we should disregard the
device.

Current, the valid device check is wrong, since it gets the
polarity of 'status' wrong. This could cause issues if the
'resource_source' field is bogus but parent_handle happens to
refer to the correct master (which is not entirely imaginary
since this code runs in a loop)

So test for ACPI_FAILURE() instead, to make the code more
self explanatory.

Fixes: c2f08a4aec68 ("spi/acpi: enumerate all SPI slaves in the namespace")
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: andy.shevchenko@gmail.com
Cc: masahisa.kojima@linaro.org
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Cc: linux-acpi@vger.kernel.org
Cc: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c