What does driver rejects match -19 mean?

When a driver ouputs

probe of [driver] rejects match -19

Linux error -19 means there is No such device.
Does this mean that the loaded driver doesn’t find its device?

Asked By: Bret Joseph


Regarding most recent Linux kernel, the error reported in OP comes following some code in /drivers/base/dd.c :

    if (dev->bus->probe)
        ret = dev->bus->probe(dev);
    else if (drv->probe)
        ret = drv->probe(dev);

    switch (ret) {
    case -ENODEV:
    case -ENXIO:
        pr_debug("%s: probe of %s rejects match %dn",
             drv->name, dev_name(dev), ret);

In other words in case the probing returns ENODEV or ENXIO.

Since you tell 19 being reported, this is indeed ENODEV wich indeed means you are correct : No such device

Since you do not tell much about the driver / device… just in case it would be some personal development, please do consider the short notice right at the beginning of the code linked here-above :

Sometimes driver probe order matters, but the kernel doesn’t always
have dependency information which means some drivers will get
probed before a resource it depends on is available. For example,
an SDHCI driver may first need a GPIO line from an i2c GPIO
controller before it can be initialized. If a required resource is
not available yet, a driver can request probing to be deferred by
returning -EPROBE_DEFER from its probe hook

Answered By: MC68020
Categories: Answers Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.