驱动程序拒绝匹配 -19 是什么意思?

驱动程序拒绝匹配 -19 是什么意思?

当驱动程序输出

probe of [driver] rejects match -19

Linux错误-19表示没有这样的设备。这是否意味着加载的驱动程序找不到其设备?

答案1

对于最新的Linux内核,OP中报告的错误如下/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 %d\n",
             drv->name, dev_name(dev), ret);
        break;

换句话说,如果探测返回 ENODEV 或 ENXIO。

既然你告诉19被举报了,这确实是埃诺德夫这确实意味着你是正确的:无此设备


由于您没有透露太多有关驱动程序/设备的信息……以防万一这是一些个人开发,请务必考虑上面链接的代码开头的简短通知:

有时驱动程序探测顺序很重要,但内核并不总是具有依赖项信息,这意味着某些驱动程序将在其依赖的资源可用之前被探测到。例如,SDHCI 驱动程序可能首先需要来自 i2c GPIO 控制器的 GPIO 线,然后才能对其进行初始化。如果所需资源尚不可用,驱动程序可以通过从其探测挂钩返回 -EPROBE_DEFER 来请求推迟探测

相关内容