Small bug-fix

Steven N. Hirsch shirsch at ibm.net
Wed Dec 17 04:04:42 PST 1997


All,

This needs to happen in recent aic7xxx drivers:

*** aic7xxx.c.orig	Wed Dec 17 06:51:16 1997
--- aic7xxx.c	Wed Dec 17 07:01:30 1997
***************
*** 303,309 ****
  #ifdef AIC7XXX_TAGGED_QUEUEING_BY_DEVICE
  typedef struct
  {
!   unsigned char tag_commands[16];   /* Allow for wide/twin channel adapters. */
  } adapter_tag_info_t;
  
  /*
--- 303,309 ----
  #ifdef AIC7XXX_TAGGED_QUEUEING_BY_DEVICE
  typedef struct
  {
!   char tag_commands[16];   /* Allow for wide/twin channel adapters. */
  } adapter_tag_info_t;
  
  /*


If the user defines AIC7XXX_TAGGED_QUEUEING_BY_DEVICE, this logic never
suppresses tagged queueing:


        if (aic7xxx_tag_info[p->instance].tag_commands[tindex] < 0)
        {
          tag_enabled = FALSE;
          device->queue_depth = 2;  /* Tagged queueing is disabled. */
        }

An unsigned char will never compare as < 0!

Steve





More information about the aic7xxx mailing list