Commit a434c240 authored by Samuel Ortiz's avatar Samuel Ortiz

NFC: Only warn on SE discovery error

SE discovery errors are currently overwriting the dev_up() return error.
This is wrong for many reasons:

- We don't want to report an error if we actually brought the device up
  but it failed to discover SEs. By doing so we pretend we don't have an
  NFC functional device even we do. The only thing we could not do was
  checking for SEs availability. This is the false negative case.

- In some cases the actual device power up failed but the SE discovery
  succeeded. Userspace then believes the device is up while it's not.
  This is the false positive case.
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 11bfb1c4
...@@ -133,11 +133,8 @@ int nfc_dev_up(struct nfc_dev *dev) ...@@ -133,11 +133,8 @@ int nfc_dev_up(struct nfc_dev *dev)
dev->dev_up = true; dev->dev_up = true;
/* We have to enable the device before discovering SEs */ /* We have to enable the device before discovering SEs */
if (dev->ops->discover_se) { if (dev->ops->discover_se && dev->ops->discover_se(dev))
rc = dev->ops->discover_se(dev); pr_err("SE discovery failed\n");
if (rc)
pr_warn("SE discovery failed\n");
}
error: error:
device_unlock(&dev->dev); device_unlock(&dev->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment