Bug 102591 - QLogic drivers for ISP 2200/2300 are bad
QLogic drivers for ISP 2200/2300 are bad
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel (Show other bugs)
3.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brian Brock
:
Depends On:
Blocks: 101028
  Show dependency treegraph
 
Reported: 2003-08-18 10:19 EDT by Mark Hemment
Modified: 2015-01-04 17:02 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-11 11:23:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mark Hemment 2003-08-18 10:19:30 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.72 [en] (X11; U; Linux 2.2.14-5.0smp i686)

Description of problem:
  The qla2200 "addon" driver has incorrect number of handles for RIO types 1 and
2
IOCBs.
  These are documented has having 15 and 30 handles respectively, but in
qla2x00.h the rio_iocb_type1_entry and rio_iocb_type2_entry structures are one
short.  This "short" limit is also present in qla2x00_handle_RIO_type2_iocb()
and
qla2x00_handle_RIO_type1_iocb() functions.
  When the number of handles in an RIO is at the real maximum, the qla2200
issues
a warning, and then (in qla2x00_process_good_request()) marks the HBA as needing
a reset (due to bad handle).  Under anything but a light load, I'm getting
constant
resets (which generate a LIP on the fabric).  I'm using direct-attached FC
JBODs, but
the issue is also present when using a switch.

  The qla2200 driver appears to be using a signature ("RESPONSE_PROCESSED")
to identify completed entries in the response ring.  This is strange.  The ISP
(processor)
maintains "in" and "out" pointers for this ring.  For the ISP 2300, the "in"
pointer
appears to need "debouncing".
  Feral's ISP driver correctly uses response ring pointers, and has correct
sizes for
the RIOs.  It does not constantly reset.
  Could, either;
	a) Use feral's driver as the default for both 2200 and 2300;
		http://www.feral.com/
	b) Fix the qla2200 addon driver

Version-Release number of selected component (if applicable):
kernel-bigmem-2.4.21-1.1931.2.349.2.2.ent

How reproducible:
Always

Steps to Reproduce:
1. Use the qla2200 driver, either with a 2200 or 2300
2. An "dd if=/dev/sdc of=/dev/null", where sdc is on the fabric, will show
constant resets.
3.
    

Actual Results:    The "dd" will cause back-to-back resets.  Performance will
_crawl_.

Expected Results:    No resets under normal operation.  Good performance.

Additional info:
Comment 1 Arjan van de Ven 2003-09-03 17:03:21 EDT
a fix for this has been merged
Comment 2 Bill Nottingham 2004-10-11 11:23:46 EDT
Closing MODIFIED bugs as fixed. Please reopen if the problem perists.

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