Red Hat Bugzilla – Bug 102591
QLogic drivers for ISP 2200/2300 are bad
Last modified: 2015-01-04 17:02:54 EST
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
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()
When the number of handles in an RIO is at the real maximum, the qla2200
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
resets (which generate a LIP on the fabric). I'm using direct-attached FC
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
maintains "in" and "out" pointers for this ring. For the ISP 2300, the "in"
appears to need "debouncing".
Feral's ISP driver correctly uses response ring pointers, and has correct
the RIOs. It does not constantly reset.
a) Use feral's driver as the default for both 2200 and 2300;
b) Fix the qla2200 addon driver
Version-Release number of selected component (if applicable):
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
Actual Results: The "dd" will cause back-to-back resets. Performance will
Expected Results: No resets under normal operation. Good performance.
a fix for this has been merged
Closing MODIFIED bugs as fixed. Please reopen if the problem perists.