]> www.infradead.org Git - users/jedix/linux-maple.git/log
users/jedix/linux-maple.git
13 years agobe2iscsi: adding functionality to change network settings using iscsiadm
root [Wed, 2 May 2012 14:36:21 +0000 (20:06 +0530)]
be2iscsi: adding functionality to change network settings using iscsiadm

 This patch allows iscsiadm to set/ delete static IP and enable /disable
 DHCP.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: Adding bsg interface for be2iscsi
root [Wed, 2 May 2012 14:34:18 +0000 (20:04 +0530)]
be2iscsi: Adding bsg interface for be2iscsi

 This patch enables bsg interface for the be2iscsi driver

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: Get Initiator Name for the iSCSI_Host
root [Wed, 2 May 2012 14:29:13 +0000 (19:59 +0530)]
be2iscsi: Get Initiator Name for the iSCSI_Host

 Implement the ISCSI_HOST_PARAM_INITIATOR_NAME for .get_host_param

Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: Return async handle of unknown opcode to free list.
root [Wed, 2 May 2012 14:26:56 +0000 (19:56 +0530)]
be2iscsi: Return async handle of unknown opcode to free list.

 The async handle corresponding to unknown Opcode was not freed
 earlier. This code does the fix for that.

Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: Check ASYNC PDU Handle corresponds to HDR/DATA Handle
root [Wed, 2 May 2012 14:25:07 +0000 (19:55 +0530)]
be2iscsi: Check ASYNC PDU Handle corresponds to HDR/DATA Handle

 For each ASYNC PDU received there is an HDR and DATA handle for it.
 There will be only 1 HDR ASYNC Handle, but DATA Handle can be more
 than 1 for each ASYNC PDU received. Checking if the ASYNC Handle
 correspongs to HDR or DATA while returning the Handle to the free list.
 hwi_free_async_msg just return the handles to the free list. No return
 values are needed so changing the return type to void.

Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Bump the driver Version
root [Wed, 2 May 2012 14:21:56 +0000 (19:51 +0530)]
be2iscsi:Bump the driver Version

 This patch bumps the driver version
Signed-off-by: Minh Tran <MinhDuc.Tran@Emulex.Com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: Update in Copyright information
root [Wed, 2 May 2012 14:19:51 +0000 (19:49 +0530)]
be2iscsi: Update in Copyright information

 change from Serverengines to Emulex

Signed-off-by: Minh Tran <MinhDuc.Tran@Emulex.Com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Fix the function return values.
root [Wed, 2 May 2012 14:17:43 +0000 (19:47 +0530)]
be2iscsi:Fix the function return values.

 This patch fixes the return value

Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Code cleanup, removing the goto statement
root [Wed, 2 May 2012 14:16:38 +0000 (19:46 +0530)]
be2iscsi:Code cleanup, removing the goto statement

Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Fix double free of MCCQ info memory.
root [Wed, 2 May 2012 14:14:51 +0000 (19:44 +0530)]
be2iscsi:Fix double free of MCCQ info memory.

 In case of MCC_Q creation failed, the MCCQ info memory is freed
 from be_mcc_queues_destroy and be_mcc_queues_create. This caused
 kernel to panic because of double free.

Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Set num_cpu = 1 if pci_enable_msix fails
root [Wed, 2 May 2012 14:13:21 +0000 (19:43 +0530)]
be2iscsi:Set num_cpu = 1 if pci_enable_msix fails

 This patch sets the num_cpu to 1 if  msix not supported
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Fix typo function name mismatch
root [Wed, 2 May 2012 14:11:06 +0000 (19:41 +0530)]
be2iscsi:Fix typo function name mismatch

Signed-off-by: Minh Tran <MinhDuc.Tran@Emulex.Com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi:Freeing of WRB and SGL Handle in cleanup task
root [Wed, 2 May 2012 14:09:28 +0000 (19:39 +0530)]
be2iscsi:Freeing of WRB and SGL Handle in cleanup task

 The WRB and SGL Handle allocated for Login task were not freed
 back to the pool after the login process was done. This code
 releases the WRB and SGL Handle after the login process.

 v2:
 - Fix up locking so bh calls are not done when not needed.
 - Make beiscsi_cleanup_task static.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: WRB Initialization and Failure code path change
root [Wed, 2 May 2012 14:07:17 +0000 (19:37 +0530)]
be2iscsi: WRB Initialization and Failure code path change

 Removing code duplication during the WRB_Handle and WRB
 initialization.
 Added memory allocation failure handling code during WRB
 initialization.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: Fix in the Asynchronous Code Path
root [Wed, 2 May 2012 14:01:03 +0000 (19:31 +0530)]
be2iscsi: Fix in the Asynchronous Code Path

 Set the ASYNC PDU Handle pBuffer for Data ring with the VA/PA
 of the allocated memory for it.
 To get the correct ASYNC PDY Handle iterate the list and compare
 the PA set during initialization with the passed PHY Address.
 The buffer_size and num_enteries are common for HDR and Data ring

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: root <root@localhost.(none)>
13 years agobe2iscsi: cleanup a min_t() call
root [Wed, 2 May 2012 13:58:04 +0000 (19:28 +0530)]
be2iscsi: cleanup a min_t() call

 "sense_len" was declared as int type but actually it only stores a
 u16 value that comes from hardware.  The cast to u16 in min_t()
 confuses static analysis because it truncates the int to u16 so I've
 fixed the declaration to reflect that "sense_len" is just a u16.

 Also there was a call to cpu_to_be16() which I've changed to
 be16_to_cpu().  The functions are equivalent, but obviously the
 hardware is big endian and we're doing the min_t() comparison on CPU
 endian values.

 This whole patch is just a cleanup and doesn't affect how the code
 works.

 upstream commit id : 4053a4be525d3441cad6cd1ae207177f03eb9ce7
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: root <root@localhost.(none)>
13 years agoqlge: driver update to v1.0.0.30
Maxim Uvarov [Thu, 10 May 2012 00:48:52 +0000 (17:48 -0700)]
qlge: driver update to v1.0.0.30

Orabug: 14045380
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agonetxen: driver update to v4.0.78
Maxim Uvarov [Thu, 10 May 2012 00:41:15 +0000 (17:41 -0700)]
netxen: driver update to v4.0.78

Orabug: 14045367
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoqlcnic: driver update to v5.0.28.1
Maxim Uvarov [Thu, 10 May 2012 00:37:24 +0000 (17:37 -0700)]
qlcnic: driver update to v5.0.28.1

Orabug: 14055720
Update qlcnic driver to v5.0.28.1
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoSPEC: v2.6.39-200.8.0
Maxim Uvarov [Wed, 9 May 2012 22:27:45 +0000 (15:27 -0700)]
SPEC: v2.6.39-200.8.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoMerge branch 'uek2-merge' of git://ca-git.us.oracle.com/linux-konrad-public into...
Maxim Uvarov [Wed, 9 May 2012 18:49:36 +0000 (11:49 -0700)]
Merge branch 'uek2-merge' of git://ca-git.us.oracle.com/linux-konrad-public into uek-2.6.39-200

13 years agoSPEC: v2.6.39-200.7.0
Maxim Uvarov [Wed, 9 May 2012 18:11:10 +0000 (11:11 -0700)]
SPEC: v2.6.39-200.7.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoRevert "x86/ioapic: Add register level checks to detect bogus io-apic entries"
Maxim Uvarov [Wed, 9 May 2012 17:51:48 +0000 (10:51 -0700)]
Revert "x86/ioapic: Add register level checks to detect bogus io-apic entries"

This reverts commit 42af242e5687c0522154800c3bbd6d0a73a35d2a.

13 years agoqla2xxx: Updated the driver version to 8.04.00.03.39.0-k.
Giridhar Malavali [Thu, 3 May 2012 07:53:34 +0000 (13:23 +0530)]
qla2xxx: Updated the driver version to 8.04.00.03.39.0-k.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Don't attach driver with function.
Giridhar Malavali [Thu, 3 May 2012 07:51:50 +0000 (13:21 +0530)]
qla2xxx: Don't attach driver with function.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Proper detection of firmware abort error code for ISP82xx.
Giridhar Malavali [Wed, 11 Apr 2012 07:02:51 +0000 (12:32 +0530)]
qla2xxx: Proper detection of firmware abort error code for ISP82xx.

JIRA Key: V2632FC-160

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Fix typo in bus-reset handler.
Andrew Vasquez [Wed, 11 Apr 2012 06:59:09 +0000 (12:29 +0530)]
qla2xxx: Fix typo in bus-reset handler.

Both the target-id and LUN are munged in the original printk().

JIRA Key: V2632FC-161

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Correct link-reset regressions introduced during 83xx porting.
Andrew Vasquez [Mon, 30 Jan 2012 19:12:40 +0000 (11:12 -0800)]
qla2xxx: Correct link-reset regressions introduced during 83xx porting.

- flags.enable_lip_reset should not be set for 24xx/81xx (in
  corresponding nvram_config() functions).

- ISP2031 is *not* a CNA, remove comparison check against that
  ISP in qla2x00_lip_reset().

JIRA Key: V2632FC-159

13 years agoqla2xxx: Handle device mapping changes due to device logout.
Arun Easi [Wed, 11 Apr 2012 06:55:38 +0000 (12:25 +0530)]
qla2xxx: Handle device mapping changes due to device logout.

A device logout sent in the delete path of a fcport would clear the
port handle binding inside the firmware. This could lead to queued
work items for the fcport, if any, getting incorrect results. This
patch fixes the issue by checking for device name changes after a
call to get port database.

JIRA Key: V2632FC-131

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Avoid invalid request queue dereference for bad response packets.
Arun Easi [Wed, 11 Apr 2012 06:38:48 +0000 (12:08 +0530)]
qla2xxx: Avoid invalid request queue dereference for bad response packets.

JIRA Key: V2632FC-144

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Stop iteration after first failure in *_id functions.
Arun Easi [Thu, 19 Jan 2012 20:59:41 +0000 (12:59 -0800)]
qla2xxx: Stop iteration after first failure in *_id functions.

JIRA Key: V2632FC-153

13 years agoqla2xxx: Fix incorrect register access in qla2x00_start_iocbs().
Arun Easi [Sat, 14 Jan 2012 00:21:43 +0000 (05:51 +0530)]
qla2xxx: Fix incorrect register access in qla2x00_start_iocbs().

JIRA Key: V2632FC-147

13 years agoqla2xxx: Fix to update proper command completion upon command retries.
Andrew Vasquez [Mon, 16 Jan 2012 19:52:25 +0000 (11:52 -0800)]
qla2xxx: Fix to update proper command completion upon command retries.

Pass right completion om processing continuation status IOCB.

JIRA Key: V2632FC-149

13 years agoqla2xxx: Hard code the number of loop entries at 128.
Chad Dupuis [Fri, 13 Jan 2012 15:08:35 +0000 (09:08 -0600)]
qla2xxx: Hard code the number of loop entries at 128.

Do not use ha->max_fibre_devices in loop topology since the maximum number of
entries will always be 128 and so we don't have to worry about changing
ha->max_fibre_devices back.

JIRA Key: V2632FC-146

13 years agoRevert "qla2xxx: Return N-port id to firmware on logout."
Giridhar Malavali [Wed, 11 Apr 2012 06:14:16 +0000 (11:44 +0530)]
Revert "qla2xxx: Return N-port id to firmware on logout."

This reverts commit b6c09482a0c1f7aaa3f84fb83908f131ae7a3736.

13 years agoqla2xxx: Reference proper scsi_qla_host structure for processing non-scsi SRB commands.
Giridhar Malavali [Sat, 24 Dec 2011 06:44:16 +0000 (22:44 -0800)]
qla2xxx: Reference proper scsi_qla_host structure for processing non-scsi SRB commands.

JIRA Key: V2632FC-137

13 years agoqla2xxx: Fix wrong decrement, null sp access.
Arun Easi [Tue, 20 Dec 2011 17:48:04 +0000 (09:48 -0800)]
qla2xxx: Fix wrong decrement, null sp access.

JIRA Key: V2632FC-135

13 years agoqla2xxx: Further consolidation of SRB related code changes.
Giridhar Malavali [Wed, 11 Apr 2012 06:03:27 +0000 (11:33 +0530)]
qla2xxx: Further consolidation of SRB related code changes.

JIRA Key: V2632FC-134

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Complete mailbox command timedout to avoid initialization failures during...
Giridhar Malavali [Wed, 14 Dec 2011 01:17:47 +0000 (17:17 -0800)]
qla2xxx: Complete mailbox command timedout to avoid initialization failures during next reset cycle.

Complete the mailbox command timed out before initiating another abort cycle
to recover so that mailbox commands issued during next reset cycle don't fail
due to pending mailbox access timeout.

JIRA Key: V2632FC-122

13 years agoqla2xxx: Add ha->max_fibre_devices to keep track of the maximum number of targets.
Chad Dupuis [Tue, 10 Apr 2012 11:54:05 +0000 (17:24 +0530)]
qla2xxx: Add ha->max_fibre_devices to keep track of the maximum number of targets.

Add a field to the qla_hw_data struct to allow us to set the maximum number of
fabric devices on a per adapter basis based on ISP type.

JIRA Key: V2632FC-125

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Cache swl during fabric discovery.
Andrew Vasquez [Tue, 10 Apr 2012 11:52:14 +0000 (17:22 +0530)]
qla2xxx: Cache swl during fabric discovery.

Rather than continuously allocating and freeing swl within the discovery
process, simply pre-allocate it the first time that it's needed, cache it
through the rest of the lifecycle of the driver and free it at module unload.

JIRA Key: V2632FC-124

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Remove EDC sysfs interface.
Joe Carnuccio [Tue, 10 Apr 2012 11:50:36 +0000 (17:20 +0530)]
qla2xxx: Remove EDC sysfs interface.

Since the new firmware periodically resets the EDC, the EDC is now
not able to be flashed while the firmware is running, so the user
applications must be prevented from flashing the EDC, and this is
achieved by removing the EDC sysfs interface.

JIRA Key: V2632FC-112

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Perform firmware dump procedure on mailbox command timeout.
Chad Dupuis [Wed, 7 Dec 2011 21:51:34 +0000 (15:51 -0600)]
qla2xxx: Perform firmware dump procedure on mailbox command timeout.

JIRA Key: V2632FC-39

13 years agoqla2xxx: Change the log message when previous dump is available to retrieve for ISP82xx.
Giridhar Malavali [Thu, 1 Dec 2011 18:31:01 +0000 (12:31 -0600)]
qla2xxx: Change the log message when previous dump is available to retrieve for ISP82xx.

JIRA Key: V2632FC-103

13 years agoqla2xxx: Log messages to use correct vha.
Arun Easi [Tue, 10 Apr 2012 11:46:39 +0000 (17:16 +0530)]
qla2xxx: Log messages to use correct vha.

JIRA Key: V2632FC-99

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Add new message when a new loopid is assigned.
Chad Dupuis [Tue, 10 Apr 2012 11:42:19 +0000 (17:12 +0530)]
qla2xxx: Add new message when a new loopid is assigned.

JIRA Key: V2632FC-98

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Fix ql_dbg arguments.
Arun Easi [Wed, 2 Nov 2011 02:03:13 +0000 (19:03 -0700)]
qla2xxx: Fix ql_dbg arguments.

JIRA Key: V2632FC-96

13 years agoqla2xxx: Use ql_log* #define's in ql_log() and ql_log_pci().
Chad Dupuis [Tue, 10 Apr 2012 11:40:10 +0000 (17:10 +0530)]
qla2xxx: Use ql_log* #define's in ql_log() and ql_log_pci().

JIRA Key: V2632FC-127

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Convert remaining printk's to ql_log format.
Chad Dupuis [Tue, 10 Apr 2012 11:35:01 +0000 (17:05 +0530)]
qla2xxx: Convert remaining printk's to ql_log format.

JIRA Key: V2632FC-126

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Print mailbox command opcode and return code when a command times out.
Chad Dupuis [Tue, 10 Apr 2012 11:27:25 +0000 (16:57 +0530)]
qla2xxx: Print mailbox command opcode and return code when a command times out.

JIRA Key: V2632FC-102

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Remove check for null fcport from host reset handler.
Michael Christie [Tue, 10 Apr 2012 11:20:23 +0000 (16:50 +0530)]
qla2xxx: Remove check for null fcport from host reset handler.

Remove the check for a NULL fcport so that the host reset will run
unconditionally to unwedge any commands before the device is offlined and to
prevent a quick runthrough of the SCSI error handling.

JIRA Key: V2632FC-89

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Correct out of bounds read of ISP2200 mailbox registers.
Andrew Vasquez [Fri, 28 Oct 2011 21:40:44 +0000 (14:40 -0700)]
qla2xxx: Correct out of bounds read of ISP2200 mailbox registers.

From Olatunji:

A tool that I m building for finding memory faults in
Linux drivers is reporting that the following loop, in
qla2x00_mbx_completion(), reads outside the allocated io memory
while reading ISP2200 mailbox registers.  I would appreciate your
help in confirming this bug.

...
  wptr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 1);
 for (cnt = 1; cnt < ha->mbx_count; cnt++) {
    if (IS_QLA2200(ha) && cnt == 8)
wptr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 8);
    if (cnt == 4 || cnt == 5)
ha->mailbox_out[cnt] = qla2x00_debounce_register(wptr);
    else
       ha->mailbox_out[cnt] = RD_REG_WORD(wptr);
     wptr++;
  }
...

During isp2200 initialization (qla2x00_probe_one), ha->mbx_count
is set to 32, even though isp2200 has 24 mailbox registers
(mailbox0 ... mailbox23).  Therefore the loop runs for
cnt=[1..31], wptr walks off the allocated mailbox register region
at cnt==24, and results in out-of-bounds reads.

Although I observed this problem in linux2.6.17.1, I
confirmed that it also exists in 2.6.37 and 3.1-rc4.

Fortunately, the reads outside the 24 mailbox registers are
benign.  For correctness, limit the driver's read to 24.

JIRA Key: V2632FC-95

13 years agoqla2xxx: Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing.
Andrew Vasquez [Thu, 20 Oct 2011 23:29:49 +0000 (16:29 -0700)]
qla2xxx: Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing.

This can cause instability in mailbox command state machine handling.

JIRA Key: V2632FC-94

13 years agoqla2xxx: Reduce mbx-command timeout for Login/Logout requests.
Andrew Vasquez [Thu, 20 Oct 2011 22:49:13 +0000 (15:49 -0700)]
qla2xxx: Reduce mbx-command timeout for Login/Logout requests.

Don't use default 30 second mailbox-command timeout for these
serial requests, instead, limit the TMO to the standard 2*RATOV
plus some fudge-factor.

JIRA Key: V2632FC-93

13 years agoqla2xxx: Clear options-flags while issuing stop-firmware mbx command.
Andrew Vasquez [Thu, 20 Oct 2011 17:14:16 +0000 (10:14 -0700)]
qla2xxx: Clear options-flags while issuing stop-firmware mbx command.

Not clearing the options flags in mbx1 could lead the firmware
into interpreting old data in mbx1 through mbx8.  This could
lead to inadvertent DMA read/write operations to stale memory.

JIRA Key: V2632FC-92

13 years agoqla2xxx: Prep zero-length BSG data-transfer requests.
Andrew Vasquez [Tue, 10 Apr 2012 11:09:30 +0000 (16:39 +0530)]
qla2xxx: Prep zero-length BSG data-transfer requests.

During command failure/non-recognition, the upper-layer
FC-transport expects the drivers to set
job-reply->reply_payload_rcv_len.  Do this in a consistent manner
to avoid duplication.

JIRA Key: V2632FC-90

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Perform implicit logout during rport tear-down.
Andrew Vasquez [Fri, 4 Nov 2011 14:31:51 +0000 (09:31 -0500)]
qla2xxx: Perform implicit logout during rport tear-down.

During rport tear-down, make sure we do an implicit LOGO of the fcport in our
firmware to try to clear any residual commands associated with that fcport.

JIRA Key: V2632FC-88

13 years agoqla2xxx: Return N-port id to firmware on logout.
Joe Carnuccio [Tue, 11 Oct 2011 23:47:36 +0000 (16:47 -0700)]
qla2xxx: Return N-port id to firmware on logout.

When logging out a port, return the N-port id to the firmware for
recycling to avoid running out of N-port id's.

JIRA Key: V2632FC-83

13 years agoqla2xxx: Handle failure cases during fabric_login
Chad Dupuis [Tue, 10 Apr 2012 11:00:12 +0000 (16:30 +0530)]
qla2xxx: Handle failure cases during fabric_login

Make sure that all calls to ha->isp_ops->fabric_login() check the
return value for failure.

JIRA Key: V2632FC-84

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Increase speed of flash access in ISP82xx adapters to improve firmware load...
Chad Dupuis [Tue, 10 Apr 2012 10:55:28 +0000 (16:25 +0530)]
qla2xxx: Increase speed of flash access in ISP82xx adapters to improve firmware load speed.

JIRA Key: V2632FC-78

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Handle change notifications based on switch scan results.
Arun Easi [Mon, 8 Aug 2011 07:06:36 +0000 (00:06 -0700)]
qla2xxx: Handle change notifications based on switch scan results.

Instead of processing each RSCN individually, use only the name server results
from the switch to tell the existance of a given fcport.

JIRA Key: V2632FC-41

13 years agoqla2xxx: Correct print format for edc ql_log() calls.
Joe Carnuccio [Thu, 13 Oct 2011 18:25:12 +0000 (13:25 -0500)]
qla2xxx: Correct print format for edc ql_log() calls.

JIRA Key: V2632FC-77

13 years agoqla2xxx: Use consistent DL mask for ELS/CT passthru requests.
Andrew Vasquez [Fri, 23 Sep 2011 22:00:21 +0000 (15:00 -0700)]
qla2xxx: Use consistent DL mask for ELS/CT passthru requests.

Driver is logging a slew of 'good' status requests:

[ 9178.507535] qla2xxx [0000:19:00.1]-503f:15: ELS-CT pass-through-ct pass-through error hdl=379 comp_status-status=0x15 error subcode 1=0x1820 error subcode 2=0x81c8 total_byte = 0x10.
[ 9178.525950] qla2xxx [0000:19:00.1]-503f:15: ELS-CT pass-through-ct pass-through error hdl=37c comp_status-status=0x15 error subcode 1=0x1820 error subcode 2=0x81c8 total_byte = 0x10.
[ 9178.543461] qla2xxx [0000:19:00.1]-503f:15: ELS-CT pass-through-ct pass-through error hdl=37f comp_status-status=0x15 error subcode 1=0x1820 error subcode 2=0x81c8 total_byte = 0x10.
[ 9178.555836] qla2xxx [0000:19:00.1]-503f:15: ELS-CT pass-through-ct pass-through error hdl=382 comp_status-status=0x15 error subcode 1=0x1820 error subcode 2=0x81c8 total_byte = 0x10.

Change from

* ql_log() -> ql_dbg()
* ql_log_info -> ql_dbg_user

Chad/Saurav, does this require a renumbering?

JIRA Key: V2632FC-76

13 years agoqla2xxx: Consolidation of SRB processing.
Giridhar Malavali [Tue, 10 Apr 2012 10:51:33 +0000 (16:21 +0530)]
qla2xxx: Consolidation of SRB processing.

Rework the structures related to SRB processing to minimize the memor
allocations per I/O and manage resources associated with and completions
from common routines.

JIRA Key: V2632FC-132

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Use proper VPD/NVRAM regions with ISP8031 parts.
Andrew Vasquez [Fri, 23 Dec 2011 20:09:55 +0000 (12:09 -0800)]
qla2xxx: Use proper VPD/NVRAM regions with ISP8031 parts.

JIRA key: V2632FC-142.

13 years agoqla2xxx: Remove ql2xfwloadbin assignment to 0.
Chad Dupuis [Wed, 14 Dec 2011 16:39:15 +0000 (08:39 -0800)]
qla2xxx: Remove ql2xfwloadbin assignment to 0.

JIRA Key: V2632FC-123

13 years agoqla2xxx: Call MPI reset for 81xx adapters only.
Andrew Vaquez [Wed, 14 Dec 2011 14:21:53 +0000 (08:21 -0600)]
qla2xxx: Call MPI reset for 81xx adapters only.

JIRA Key: V2632FC-129

13 years agoqla2xxx: Driver need to do HotReset instead of FundamentalReset for ISP83XX
Andrew Vasquez [Tue, 10 Apr 2012 09:42:21 +0000 (15:12 +0530)]
qla2xxx: Driver need to do HotReset instead of FundamentalReset for ISP83XX

JIRA Key: V2632FC-115.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Use default semantic for firmware load.
Saurav Kashyap [Thu, 8 Dec 2011 15:16:46 +0000 (07:16 -0800)]
qla2xxx: Use default semantic for firmware load.

JIRA Key: V2632FC-123

13 years agoqla2xxx: Enhancements to support ISP83xx.
Giridhar Malavali [Tue, 10 Apr 2012 09:36:06 +0000 (15:06 +0530)]
qla2xxx: Enhancements to support ISP83xx.

JIRA Key: V2632FC-100

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Enhanced the dump routines to capture multiple request and response queues.
Giridhar Malavali [Thu, 13 Oct 2011 18:37:35 +0000 (13:37 -0500)]
qla2xxx: Enhanced the dump routines to capture multiple request and response queues.

JIRA Key: V2632FC-30

13 years agoqla2xxx: Update the driver version to 8.03.07.13.39.0-k.
Saurav Kashyap [Wed, 7 Mar 2012 04:57:03 +0000 (10:27 +0530)]
qla2xxx: Update the driver version to 8.03.07.13.39.0-k.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Fixed typos and misc issues.
Saurav Kashyap [Mon, 27 Feb 2012 11:32:11 +0000 (17:02 +0530)]
qla2xxx: Fixed typos and misc issues.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Fix byte swapping in IPE print statement.
Chad Dupuis [Mon, 27 Feb 2012 07:03:56 +0000 (12:33 +0530)]
qla2xxx: Fix byte swapping in IPE print statement.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Add an "is reset active" helper.
Andrew Vasquez [Mon, 27 Feb 2012 06:58:22 +0000 (12:28 +0530)]
qla2xxx: Add an "is reset active" helper.

Many locations within the driver would use an inconsistent set of
checks to determine ISP-reset state.  Consolidate the checks into
this inline-helper.

Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Disable generating pause frames when firmware hang detected for ISP82xx.
Giridhar Malavali [Mon, 27 Feb 2012 06:50:33 +0000 (12:20 +0530)]
qla2xxx: Disable generating pause frames when firmware hang detected for ISP82xx.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
13 years agoqla2xxx: Use a valid enode-mac if none defined.
Andrew Vasquez [Fri, 23 Dec 2011 20:00:45 +0000 (12:00 -0800)]
qla2xxx: Use a valid enode-mac if none defined.

Original 'defaults' were not OUI valid.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
13 years agoqla2xxx: Remove resetting memory during device initialization for ISP82xx.
Shyam Sundar [Thu, 19 Jan 2012 21:02:23 +0000 (13:02 -0800)]
qla2xxx: Remove resetting memory during device initialization for ISP82xx.

With IOs running and PegHalt testing the system reboots when memory reset is
performed during device initialization.

Signed-off-by: Shyam Sundar <shyam.sundar@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
13 years agoqla2xxx: Propagate up abort failures.
Arun Easi [Fri, 23 Dec 2011 19:57:13 +0000 (11:57 -0800)]
qla2xxx: Propagate up abort failures.

Signed-off-by: Arun Easi <arun.easi@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
13 years agoqla2xxx: Add check for null fcport references in qla2xxx_queuecommand.
Chad Dupuis [Thu, 13 Oct 2011 19:26:59 +0000 (14:26 -0500)]
qla2xxx: Add check for null fcport references in qla2xxx_queuecommand.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
13 years agoMerge branch 'uek-2.6.39-200_lpfc8.3.5.68.4p.orabug14027969' of git://ca-git.us.oracl...
Maxim Uvarov [Wed, 9 May 2012 00:34:46 +0000 (17:34 -0700)]
Merge branch 'uek-2.6.39-200_lpfc8.3.5.68.4p.orabug14027969' of git://ca-git.us.oracle.com/linux-muvarov-public into uek-2.6.39-200

Orabug: 14027969

13 years agoMerge branch 'uek-2.6.39-200_be2netv2' of git://ca-git.us.oracle.com/linux-muvarov...
Maxim Uvarov [Wed, 9 May 2012 00:33:08 +0000 (17:33 -0700)]
Merge branch 'uek-2.6.39-200_be2netv2' of git://ca-git.us.oracle.com/linux-muvarov-public into uek-2.6.39-200

Orabug: 13448441

13 years ago[mpt2sas] Bump driver vesion to 13.100.00.00
Nagalakshmi Nandigama [Mon, 7 May 2012 20:42:49 +0000 (13:42 -0700)]
[mpt2sas] Bump driver vesion to 13.100.00.00

Orabug: 14040678
Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] fix NULL pointer at ioc->pfacts
Nagalakshmi Nandigama [Mon, 7 May 2012 20:40:00 +0000 (13:40 -0700)]
[mpt2sas] fix NULL pointer at ioc->pfacts

Orabug: 14040678
The ioc->pfacts member in the IOC structure is getting set to zero
following a call to _base_get_ioc_facts due to the memset in that routine.
So if the ioc->pfacts was read after a host reset, there would be a NULL
pointer dereference. The routine _base_get_ioc_facts is called from context
of host reset.  The problem in _base_get_ioc_facts  is the size of
Mpi2IOCFactsReply is 64, whereas the sizeof "struct mpt2sas_facts" is 60,
so there is a four byte overflow resulting from the memset.

Also, there is memset in _base_get_port_facts using the incorrect structure,
it should be "struct mpt2sas_port_facts" instead of Mpi2PortFactsReply.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] A hard drive is going OFFLINE when there is a hard reset issued
Nagalakshmi Nandigama [Mon, 7 May 2012 20:39:25 +0000 (13:39 -0700)]
[mpt2sas] A hard drive is going OFFLINE when there is a hard reset issued
and simultaneously another hard drive is hot unplugged

Orabug: 14040678
Following the host reset, the firmware discovery is reassigning another
hard drive in the topology to the same device handle as that device is
getting hot removed. Until the driver device removal routine is called,
there will be two hard drive with the matching device handle in the
internal device link list. In the device removal routine, a separate
function which moves the device from BLOCKED into OFFLINE state.
Since this routine is passed  with the device handle passed as input parameter,
the routine will be traversing the internal device link list searching for
matching device handle. This results in two devices with matching
device handle, therefore both devices goes OFFLINE.

To fix this issue,the input parameter is changed from device handle to
SAS address, therefore only the device that is hot unplugged will be placed
in OFFLINE state.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] Set the phy identifier of the end device to to the phy number of the parent...
Nagalakshmi Nandigama [Mon, 7 May 2012 20:38:49 +0000 (13:38 -0700)]
[mpt2sas] Set the phy identifier of the end device to to the phy number of the parent device
it is linked to

Orabug: 14040678
The phy_identifier inside the routine _transport_set_identify()
is set to sas_device_page_zero->PhyNum. This returns the
phy number of the parent device this device is linked to.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] While enabling phy, read the current port number from sas iounit page 0
Nagalakshmi Nandigama [Mon, 7 May 2012 20:37:52 +0000 (13:37 -0700)]
[mpt2sas] While enabling phy, read the current port number from sas iounit page 0
instead of page 1

Orabug: 14040678
The port number is changing after disabling/enabling phys using the SysFS interface
This is because the firmware behavour changed where it would read the the port number
then set it to some different value even though Auto Port Config is turned on.
With this change of behavour in FW, it is possible that the expanders are moved
from one port to another after disabling /enabling phys. This is occuring because
the port number in sas iounit page 1 is not matching up to the current port in
page 0. In order to fix this the driver is modified to read the current
port number from sas iounit page 0 instead of page 1.  Also copy the
port and phy flags over from page 0 to page 1.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] Fix several endian issues found by runing sparse
Nagalakshmi Nandigama [Mon, 7 May 2012 20:37:24 +0000 (13:37 -0700)]
[mpt2sas] Fix several endian issues found by runing sparse

Orabug: 14040678
Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] Modify the source code as per the findings reported by the source
Nagalakshmi Nandigama [Mon, 7 May 2012 20:35:49 +0000 (13:35 -0700)]
[mpt2sas] Modify the source code as per the findings reported by the source
code analysis tool

Orabug: 14040678
Modified the source code as per the findings reported by the source
code analysis tool. Source code for the following functionalities
has been touched. None of the driver functionalities has changed.

- SMP Passthrough IOCTL
- Debug messages for MPT Replies (i.e. bit 9 of Logging Level)
- Task Management using sysfs
- Device removal, i.e. when a target device (including any PD within a volume) is removed, and Volume Deletion.
- Trace Buffer

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] Improvement were made to better protect the sas_device, raid_device,
Nagalakshmi Nandigama [Mon, 7 May 2012 20:29:11 +0000 (13:29 -0700)]
[mpt2sas] Improvement were made to better protect the sas_device, raid_device,
and expander_device lists

There were possible race conditions surrounding reading an object
from the link list while from another context in the driver was
removing it. The nature of this enhancement is to rearrange locking
so the link lists are better protected.

Change set:
(1) numerous routines were rearranged so spin locks are held through
the entire time a link list object is being read from or written to.
(2) added new routines for object deletion from link list.  Thus ensuring
lock was held during the deletion of the link list object, then and memory
for object freed outside the lock. The memory was freed outside the lock
so driver had access to device object info which was required for
notifying the scsi mid layer that a device was getting deleted.
(3) added the ioc->blocking_handles parameter.  This is a bitmask used
to identify which devices need blocking when there is device loss.  This was
introduced so that lock can be held for the entire time traversing the link
list objects, and the bitmask was set to indicate which device handles need
blocking. Oustide the lock the ioc->blocking_handles bitmask is traversed,
with the respective device handle the scsi mid layer is called for moving
devices into blocking state.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] Perform Target Reset instead of HBA reset when a SATA_PASSTHROUGH cmd
Nagalakshmi Nandigama [Mon, 7 May 2012 20:27:49 +0000 (13:27 -0700)]
[mpt2sas] Perform Target Reset instead of HBA reset when a SATA_PASSTHROUGH cmd
timeout happens

Orabug: 14040678
Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] Added multisegment mode support for Linux BSG Driver
Nagalakshmi Nandigama [Mon, 7 May 2012 20:27:04 +0000 (13:27 -0700)]
[mpt2sas] Added multisegment mode support for Linux BSG Driver

Orabug: 14040678
Added support for Block IO requests with multiple segments (vectors) in
the SMP handler of the SAS Transport Class. This is required by the
BSG driver. Multisegment support added for both, Request and Response.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] remove the global mutex
Nagalakshmi Nandigama [Mon, 7 May 2012 20:23:48 +0000 (13:23 -0700)]
[mpt2sas] remove the global mutex

Orabug: 14040678
When the lock_kernel and unlock_kernel routines were removed in the
2.6.39 kernel, a global mutex was added on top of the existing mutex
which already existed. With this implementation, only one IOCTL
will be active at any time no matter how many ever controllers
are present. This causes poor performance.

Removed the global mutex so that the driver can work with the existing
semaphore that was already part of the existing code.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years ago[mpt2sas] MPI next revision header update
Nagalakshmi Nandigama [Mon, 7 May 2012 20:22:18 +0000 (13:22 -0700)]
[mpt2sas] MPI next revision header update

Orabug: 14040678
Changeset in MPI headers:
1) Bumped MPI2_HEADER_VERSION_UNIT
2) Added 4K sectors supported bit to CapabilitiesFlags field of IOC Page 6.
3) Added UEFIVersion field to BIOS Page 1 and defined additional
    BiosOptions bits to control UEFI behavior.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoUpdate lpfc version for 8.3.5.68.4p driver release
Vaios Papadimitriou [Tue, 8 May 2012 22:01:28 +0000 (17:01 -0500)]
Update lpfc version for 8.3.5.68.4p driver release

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoFix bug with mailbox handling of REG_VFI and cable pull (CR 127762)
Vaios Papadimitriou [Tue, 8 May 2012 22:01:28 +0000 (17:01 -0500)]
Fix bug with mailbox handling of REG_VFI and cable pull (CR 127762)

Additional checks were missing for interface type and mailbox status that
caused the vport state to be set as failed.

commit id: f5eca9be1424ffa76b36dce4a821c051b37a8ab9

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoUse PCI configure space read to flush PCI function reset register write to avoid...
Vaios Papadimitriou [Tue, 8 May 2012 22:01:28 +0000 (17:01 -0500)]
Use PCI configure space read to flush PCI function reset register write to avoid MMIO issues (CR 128101)

When adding PCI read following LPe16000 port PCI function reset PortControl
register write for flushing the PCI pipe, the LPe16000 PortStatus register was
used for the PCI readl(). However, it might be an issue on platforms which will
not allow MMIO reads to master abort as the PCI device was not expected to
respond to a readl() following the function reset.

commit id: 2b81f942e75abda20f753e69f7a5416930ea001f

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoFixed system panic when extents enabled with large number of small blocks (CR 128010)
Vaios Papadimitriou [Tue, 8 May 2012 22:01:27 +0000 (17:01 -0500)]
Fixed system panic when extents enabled with large number of small blocks (CR 128010)

When LPe16000 port extents are enable with 24 extents of small blocks, the
system will crash at driver load time. This is because the total number of
sgls posted was not calculated correctly

commit id: 25090d398e97309931f87682174f377cf0ac1131

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoFixed the system panic during EEH recovery (CR 127062)
Vaios Papadimitriou [Tue, 8 May 2012 22:01:27 +0000 (17:01 -0500)]
Fixed the system panic during EEH recovery (CR 127062)

During the EEH recovery process while preparing for function reset, the
mbox_sys_shutdown routine  was invoked to shutdown driver's internal mailbox
queue, including the pending (outstanding) mailbox command. There is a window
for a race condition on the pending mailbox command handling when such mailbox
command was just released by the lpfc_sli4_post_async_mbox due to unable to
post such mailbox command because of PCI bus frozen.

commit id: d7069f09884ac3924dacaabbc769cc0b4ee6ad40

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
13 years agoFix resource leak when acc fails for received plogi (CR 127847)
Vaios Papadimitriou [Tue, 8 May 2012 22:01:27 +0000 (17:01 -0500)]
Fix resource leak when acc fails for received plogi (CR 127847)

When a port tries to respond to a plogi that it receives and the issue of the
acc fails the mailbox command that was allocated to register the RPI is not
freed. Now, if the issue for the acc or reject fails free the mailbox command
that was allocated to register the RPI.

commit id: 0a8a86facf359147b2d3ef796496a09b21984b03

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>