From mboxrd@z Thu Jan 1 00:00:00 1970 From: greg@kroah.com (Greg KH) Date: Sat, 18 Apr 2015 20:58:25 +0200 Subject: percolating ERESTARTSYS beyond PCI subsystem In-Reply-To: <20150418114057.GA2961@debian> References: <20150418114057.GA2961@debian> Message-ID: <20150418185825.GD30508@kroah.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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. thanks, greg k-h