On 4/18/21 9:27 PM, Alice Guo (OSS) wrote:
From: Alice Guo alice.guo@nxp.com
Update all the code that use soc_device_match because add support for soc_device_match returning -EPROBE_DEFER.
Signed-off-by: Alice Guo alice.guo@nxp.com
[ ... ]
drivers/watchdog/renesas_wdt.c | 2 +- 48 files changed, 131 insertions(+), 52 deletions(-)
[ ... ]
diff --git a/drivers/watchdog/renesas_wdt.c b/drivers/watchdog/renesas_wdt.c index 5791198960e6..fdc534dc4024 100644 --- a/drivers/watchdog/renesas_wdt.c +++ b/drivers/watchdog/renesas_wdt.c @@ -197,7 +197,7 @@ static bool rwdt_blacklisted(struct device *dev) const struct soc_device_attribute *attr;
attr = soc_device_match(rwdt_quirks_match);
- if (attr && setup_max_cpus > (uintptr_t)attr->data) {
- if (!IS_ERR(attr) && attr && setup_max_cpus > (uintptr_t)attr->data) {
This is wrong. We can not make the decision below without having access to attr. The function may wrongly return false if soc_device_match() returns an error.
Guenter
dev_info(dev, "Watchdog blacklisted on %s %s\n", attr->soc_id, attr->revision); return true;