SCSISoftUSB finalise bug fix
Colin (478) 2433 posts |
In mixed.RiscOS.Sources.HWSupport.SCSI.SCSISoftUSB.c.module in module_Final, RemoveAllDevices is called before the deregistering of the upcall handler. RemoveAllDevices removes the module by doing a *usbreset. At this point service calls are disabled with the ‘No_New_Stuff’ flag to stop reattaching the devices. However the upcall handler isn’t disabled so the device streams are reopened before the module closes down. This causes a ‘Device Not Found’ error on shutdown. You can see this happening by using !closefile. If you plug in a usb drive !closefiles will show the open usb endpoints. Now rmkill scsisoftusb and refresh !closefile and you will see that the endpoints are still open. This fixes it.
|