percolating ERESTARTSYS beyond PCI subsystem

Greg KH greg at
Sat Apr 18 14:58:25 EDT 2015

On Sat, Apr 18, 2015 at 01:40:57PM +0200, Milton Krutt wrote:
> Hi. The scenario is a PCI driver on a kernel 3.19.2: 
> is it possible, in case pending_signal(current) is true, to return -ERESTARTSYS
> to insmod process, in order to get it restart (as expectable)?
> After some attempts (with pending_signal(current) being true), it seems that -ERESTARTSYS
> is caught by the "pci layer" that complains saying something like "probing failed ..
> unexpectedly returns -512" and nothing is restarted as expected.

What is the exact error message?

insmod should never return ERESTARTSYS unless some driver is doing
something really odd/broken.  What driver are you trying to load that
does this?

> Does insmod disables it explicitly? If so, how to get a similar "restart-behaviour"?

It doesn't disable it, it's just that nothing on that syscall path
should be returning that value, as it doesn't make sense.


greg k-h

More information about the Kernelnewbies mailing list