On Sun, Apr 19, 2015 at 07:14:26PM +0200, Milton Krutt wrote: > > 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? > > probe of 0000:01:0a:0 failed with error code -512 > > > insmod should never return ERESTARTSYS unless some driver is doing > > something really odd/broken. What driver are you trying to load that > > does this? > > It's an experimental driver. For debugging purposes, it has a loop, inside which the > process is put asleep by the mean of a wait queue, and the desired behaviour is to manually > wake up the process by pressing CTRL^C at any iteration. It's something like: Ick, don't do that in a probe function. You can't sleep like this, nor return this return value, it makes no sense from a probe standpoint. Please fix the driver to not do this. Either bind to the device or not, that's all the probe function needs to do. greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies