Cedric Le Goater <clg at fr.ibm.com> writes: > Eric W. Biederman wrote: >> During driver initialization if the driver has an expensive >> initialization routine usbatm starts a separate kernel thread for it. >> >> In the driver cleanup routine the code waits to ensure the >> initialization routine has finished. >> >> Switching to the kthread api allowed some of the thread management >> code to be removed. >> >> In addition the kill_proc(SIGTERM, ...) in usbatm_usb_disconnect was >> removed because it was absolutely pointless. The kernel thread did >> not handle SIGTERM or any pending signals, so despite marking the >> signal as pending it would never have been handled. > > are you sure that the heavy_init() routines don't handle pending > signals. they do firmware loading, etc. ? Well I just took a quick look through them to be certain and I don't see anything that would. Even inside of the guts of request firmware. So I'm pretty certain that SIGTERM was something originally copied from another kernel_thread implementation and wound up being dead code. Eric