Commit 623b5bad authored by Robert Sprowson's avatar Robert Sprowson

Open and finish fixes

Reorder the open pipe special fields to match those in the USB driver to side step the DeviceFS parsing problem prior to DeviceFS-0_69
Make the upcall handler robust to device streams being shut, see
  http://www.riscosopen.org/forum/forums/3/topics/1970
for the gritty details.

Version 0.18. Tagged as 'SCSISoftUSB-0_18'
parent cca950c1
/* (0.17) /* (0.18)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1. * Last processed by srccommit version: 1.1.
* *
*/ */
#define Module_MajorVersion_CMHG 0.17 #define Module_MajorVersion_CMHG 0.18
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 26 Jun 2013 #define Module_Date_CMHG 13 Jul 2013
#define Module_MajorVersion "0.17" #define Module_MajorVersion "0.18"
#define Module_Version 17 #define Module_Version 18
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "26 Jun 2013" #define Module_Date "13 Jul 2013"
#define Module_ApplicationDate "26-Jun-13" #define Module_ApplicationDate "13-Jul-13"
#define Module_ComponentName "SCSISoftUSB" #define Module_ComponentName "SCSISoftUSB"
#define Module_ComponentPath "mixed/RiscOS/Sources/HWSupport/SCSI/SCSISoftUSB" #define Module_ComponentPath "mixed/RiscOS/Sources/HWSupport/SCSI/SCSISoftUSB"
#define Module_FullVersion "0.17" #define Module_FullVersion "0.18"
#define Module_HelpVersion "0.17 (26 Jun 2013)" #define Module_HelpVersion "0.18 (13 Jul 2013)"
#define Module_LibraryVersionInfo "0:17" #define Module_LibraryVersionInfo "0:18"
...@@ -1136,11 +1136,11 @@ usbd_status usbd_open_pipe(usbd_interface_handle iface, u_int8_t address, u_int8 ...@@ -1136,11 +1136,11 @@ usbd_status usbd_open_pipe(usbd_interface_handle iface, u_int8_t address, u_int8
char filename[sizeof "USBxxxxxxxxxxxxxxxx#interfacexxx;alternatexxx;endpointxxx;bulk;sizexxxxxx:" + 1]; char filename[sizeof "USBxxxxxxxxxxxxxxxx#interfacexxx;alternatexxx;endpointxxx;bulk;sizexxxxxx:" + 1];
if (pipe) *pipe = 0; /* in case of error */ if (pipe) *pipe = 0; /* in case of error */
sprintf(filename, "%s#interface%d;alternate%d;endpoint%d;bulk;size%d:", sprintf(filename, "%s#endpoint%d;interface%d;alternate%d;bulk;size%d:",
device->devicefs_name, device->devicefs_name,
address & 0x7F,
device->interface, device->interface,
device->alternate, device->alternate,
address & 0x7F,
BUFFER_SIZE); BUFFER_SIZE);
DEBUGf("\n usbd_open_pipe %s\n",filename); DEBUGf("\n usbd_open_pipe %s\n",filename);
_swix(OS_Claim, _INR(0,2), _swix(OS_Claim, _INR(0,2),
......
...@@ -1012,7 +1012,7 @@ _kernel_oserror *module_UpCallVHandler(_kernel_swi_regs *r, void *pw) ...@@ -1012,7 +1012,7 @@ _kernel_oserror *module_UpCallVHandler(_kernel_swi_regs *r, void *pw)
{ {
IGNORE(pw); IGNORE(pw);
if (((r->r[0] == 8) || (r->r[0] == 9) /* Buffer filling/emptying */ ) && global_TickerList && !global_RTSupportPollword) glue_BufferThresholdCheck(r->r[1],r->r[0]==8); if (((r->r[0] == 8) || (r->r[0] == 9) /* Buffer filling/emptying */ ) && global_TickerList && !global_RTSupportPollword) glue_BufferThresholdCheck(r->r[1],r->r[0]==8);
if (r->r[0] == 11 /* stream closed */) glue_ReopenStream(r->r[3]); if (!No_New_Stuff && (r->r[0] == 11 /* stream closed */)) glue_ReopenStream(r->r[3]);
return NULL; return NULL;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment