Bug 24712 - Aic7xxx and 160M drives : failure
Aic7xxx and 160M drives : failure
Status: CLOSED WONTFIX
Product: Red Hat Raw Hide
Classification: Retired
Component: kernel (Show other bugs)
1.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-01-23 13:17 EST by Need Real Name
Modified: 2015-01-04 17:01 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-10-29 23:39:49 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2001-01-23 13:17:17 EST
Hello,
  Just mirroring this bug over to you. 

the stoch 2.2.14 - 2.4.0 aic7xxx drive is BROKEN in relation
to 160M controllers. the TCQ logic is flawed. There are fixes

1. Disable TCQ for the AIC7xxx driver. (Config file option)

2. Use the new beta driver.

       http://people.FreeBSD.org/~gibbs/linux/
       linux-aic7xxx-6.0.9BETA-2.4.0.diffs

3. Use the patch below:

I have notified the powers that be and the kernel-list has a thread
relating to this. But wile in bugzilla I thought I would drop
one to you :)

Leslie Donaldson


*** linux/drivers/scsi/aic7xxx.c.2.4.0-12       Sat Jan  6 21:55:47 2001
--- linux/drivers/scsi/aic7xxx.c        Sat Jan  6 22:08:12 2001
***************
*** 7073,7078 ****
--- 7073,7092 ----
        else
        {
  
+         if(((strcmp("Adaptec AIC-7892 Ultra 160/m SCSI host
adapter",board_names[p->board_name_index])) == 0 ) ||
+            ((strcmp("Adaptec AIC-7899 Ultra 160/m SCSI host
adapter",board_names[p->board_name_index])) == 0 ))
+         {
+           /* The TCQ code for 160M devices is BROKEN */
+           /* This is a quick, dirty, sad fix until I have time for a
better */
+           /* one. We do it this way in case the driver is supporting two
seperate */
+           /* styles of scsi chipsets... I do have two boards so it does
happen */
+           tag_enabled = FALSE;
+           device->queue_depth = 3;  /* Tagged queueing is disabled. */
+           printk(INFO_LEAD "DISABLED TAGGED QUEUING, queue depth %d.\n",
+                  p->host_no, device->channel, device->id,
+                  device->lun, 0);
+         }
+         else
          if (aic7xxx_tag_info[p->instance].tag_commands[tindex] == 255)
          {
            tag_enabled = FALSE;

Note You need to log in before you can comment on or make changes to this bug.