Ignore:
Timestamp:
Aug 31, 2011, 11:23:46 PM (14 years ago)
Author:
cjm
Message:

OS2AHCI Version 1.19
====================

  • Added retry counters to all commands (IORBs) in order to prevent infinite retry loops. This was necessary because Virtualbox 4.x doesn't seem to set the "current command index" in specific ATAPI error situations, causing the failing command to be retried indefinitely instead of asking for a sense buffer
  • Minor changes to debug logging
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/os2ahci.h

    r112 r121  
    8282/* default command timeout (can be overwritten in the IORB) */
    8383#define DEFAULT_TIMEOUT  30000
     84
     85/* Maximum number of retries for commands in the restart/reset context hooks.
     86 *
     87 * Please note that the corresponding variable in the ADD workspace is a bit
     88 * field, thus increasing this value means increasing the size of the bit
     89 * field. At the time of writing this comment the 'retries' variable was 2
     90 * bits wide (i.e. a maximum number of 3 retries) and there was exactly one
     91 * bit left before the ADD workspace structure would become too large...
     92 */
     93#define MAX_RETRIES          3
    8494
    8595/* max/min macros */
     
    354364  unsigned      complete      : 1;     /* IORB has completed processing */
    355365  unsigned      unaligned     : 1;     /* unaligned S/G; need to use transfer buffer */
     366  unsigned      retries       : 2;     /* number of retries for this command */
    356367  unsigned      cmd_slot      : 5;     /* AHCI command slot for this IORB */
    357368} ADD_WORKSPACE;
Note: See TracChangeset for help on using the changeset viewer.