linux驱动中probe函数的返回值

在一个驱动的probe函数中,如果返回值为0的话,上层的核心层会认为驱动的初始化函数成功,此后驱动的一些回调函数将在适当的时候被调用,例如suspend类的回调函数,如果一个probe函数探测失败,驱动向系统申请的有关资源都会被释放,如中断号,申请的内存等,因些如果返回值为0但实际探测是失败的,上层的核心层将会调用驱动的一些回调函数,在回调函数中,可能会访问没有申请的内存而产生panic。

你可能感兴趣的:(linux)