• Paul Skirrow's avatar
    Bug fix: DeviceFS was inadvertently enabling interrupts when generating the... · 03ae9cfb
    Paul Skirrow authored
    Bug fix: DeviceFS was inadvertently enabling interrupts when generating the Upcall to indicate that new data has arrived in an input buffer.
    
    Detail:
      DeviceFS was using OS_UpCall to generate a UpCall_DeviceRxDataPresent
      upcall for for the wake up event (when data was inserted into a dormant
      receive buffer).
    
      However, OS_UpCall enables interrupts, contrary to the RISC OS 3 PRM.
      Since it happened within the hardware modem interrupt handler, this is
      quite dangerous and can lead to the modem interrupt handler being
      re-entered, thereby corrupting bytes or putting bytes into the buffer in
      the wrong order.
    
    Admin:
      SCTransport v0.57 or later is needed if using this version of DeviceFS
      (since earlier versions relied on this incorrect behaviour in DeviceVS).
    
      Unfortunately, Pace fault 2098 still exists after making this change
      (Chip to Server transactions are very slow in Customer F 8 using a HW modem).
    
    Version 0.52. Tagged as 'DeviceFS-0_52'
    03ae9cfb
VersionNum 767 Bytes