Bug 459722 - [QLogic 5.3 feat] [3/n] qla2xxx - Upstream updates: 8.02.00-k5 to 8.02.00-k6
[QLogic 5.3 feat] [3/n] qla2xxx - Upstream updates: 8.02.00-k5 to 8.02.00-k6
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
high Severity high
: beta
: ---
Assigned To: Marcus Barrow
Martin Jenner
: FutureFeature, OtherQA
Depends On:
Blocks: 415811
  Show dependency treegraph
Reported: 2008-08-21 11:38 EDT by Marcus Barrow
Modified: 2009-06-20 01:15 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-01-20 14:59:28 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
upstream patches part 3 (41.67 KB, patch)
2008-08-21 11:41 EDT, Marcus Barrow
no flags Details | Diff

  None (edit)
Description Marcus Barrow 2008-08-21 11:38:09 EDT
This set of patches ports the missing upstream fixes from 8.02.00-k5 to
8.02.00-k6 driver versions. It also includes a code cleanup patch from
8.02.00-k7 and an update to the 32 bit platform fix.

Tested at QLogic and applies and builds cleanly with 2.6.18-101.el5

    [SCSI] qla2xxx: Correct resource_size_t usages.
    commit 948882f6b72a95dd76c6c567a45dfe91b7d04c15

    Hmm, it looks like the conversion to resource_size_t usage
    (3776541d8a46347a4924353a192c6ce4a3d04e2e) requires some additional
    fixups to cleanup the structure-pointer castings used during IO mapped
    accesses to the chip.

    There's only a small number of locations, where the driver uses IO
    mapped accesses to the hardware, the patch below should take care of
    it without introducing to many structural changes to code flow.

    [SCSI] qla2xxx: Code cleanups.
    commit a824ebb37c1a1c5fd8e19b47bf5c14cb7b419b48

    - make the following needlessly global code static:
      - qla_attr.c: qla24xx_vport_delete()
      - qla_attr.c: qla24xx_vport_disable()
      - qla_mid.c: qla24xx_allocate_vp_id()
      - qla_mid.c: qla24xx_find_vhost_by_name()
      - qla_mid.c: qla2x00_do_dpc_vp()
      - qla_os.c: struct qla2x00_driver_template
      - qla_os.c: qla2x00_stop_timer()
      - qla_os.c: qla2x00_mem_alloc()
      - qla_os.c: qla2x00_mem_free()
      - qla_sup.c: qla2x00_lock_nvram_access()
      - qla_sup.c: qla2x00_unlock_nvram_access()
      - qla_sup.c: qla2x00_get_nvram_word()
      - qla_sup.c: qla2x00_write_nvram_word()
    - qla_os.c: remove some unneeded function prototypes
    - removed unused functions:
      - qla_dbg.c: qla2x00_dump_pkt()
      - qla_mbx.c: qla2x00_get_serdes_params()
      - qla_mbx.c: qla2x00_get_idma_speed()
      - qla_mbx.c: qla24xx_get_vp_database()
      - qla_mbx.c: qla24xx_get_vp_entry()

    [SCSI] qla2xxx: Use completion routines.
    commit 0b05a1f0d68bf4714c37aa7843c31df1866b017a

    Instead of abusing the semaphore interfaces for mailbox command

    [SCSI] qla2xxx: Fix for 32-bit platforms with 64-bit resources.
    commit 3776541d8a46347a4924353a192c6ce4a3d04e2e

    The driver stores the contents of PCI resources into unsigned
    long's before ioremapping. This breaks on 32-bit platforms which
    support 64-bit MMIO resources.

    Correct code by removing the temporary variables used during MMIO
    PIO mapping and using resource_size_t where applicable.  Also
    correct a small typo in a printk() where the wrong region number
    was displayed.

    [SCSI] qla2xxx: Consolidate duplicate sense-data handling codes.
    commit 4733fcb1fe4d64402a8bd18cec766e8b8ad25eee

    [SCSI] qla2xxx: Correct NPIV support for recent ISPs.
    commit eb66dc60be5a72bc940458a5adfd400e4d810d49

    Firmware will export to software the maximum number of vports
    supported for any given firmware version and ISP type.  Use this
    information rather than the current hardcoding of limitations
    within the driver.

    [SCSI] qla2xxx: Don't explicitly read mbx registers while processing a system-error.
    commit 06e23b7470ca7974b0ca8150c5415b55b5ea2a99

    Callers of qla2x00_async_event() already populate the mb[] array
    upon invocation, doing so via the appropriate mailbox register
    accessors.  The stale codes removed are leftover-bits kept during
    the FWI2 transition.  Though relatively benign, the extra-reads
    are not valid for FWI2 boards (ISP24xx and above) and peek into
    the incorrect regions of registers.
Comment 1 Marcus Barrow 2008-08-21 11:41:14 EDT
Created attachment 314716 [details]
upstream patches part 3

This is the third installment of upstream patches...
Comment 3 Don Zickus 2008-09-15 10:18:45 EDT
in kernel-2.6.18-115.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5
Comment 6 Chris Ward 2008-11-14 09:05:22 EST
~~~ Attention Partners! ~~~

Please test this URGENT / HIGH priority bug at your earliest convenience to ensure it makes it into the upcoming RHEL 5.3 release. The fix should be present in the Partner Snapshot #2 (kernel*-122), available NOW at ftp://partners.redhat.com. As we are approaching the end of the RHEL 5.3 test cycle, it is critical that you report back testing results as soon as possible. 

If you have VERIFIED the fix, please add PartnerVerified to the Bugzilla Keywords field to indicate this. If you find that this issue has not been properly fixed, set the bug status to ASSIGNED with a comment describing the issues you encountered.

All NEW issues encountered (not part of this bug fix) should have a new bug created with the proper keywords and flags set to trigger a review for their inclusion in the upcoming RHEL 5.3 or other future release. Post a link in this bugzilla pointing to the new issue to ensure it is not overlooked.

For any additional questions, speak with your Partner Manager.
Comment 7 Marcus Barrow 2008-11-17 21:21:29 EST
patch verified in 2.6.18-123.el5
Comment 9 errata-xmlrpc 2009-01-20 14:59:28 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


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