02 Aug, 2007
7 commits
-
- Clean up all instances of mixed tab-space indentation
- Clean up sparse build errors
- Add appropriate static'sSigned-off-by: James Smart
Signed-off-by: James Bottomley -
- Fix vport ndlp ref counting errors
- Fix use after free of ndlp structure
- Use the correct flag to check for LOADING setting.
- Fix driver unload bugs (related to shost references) after link down or rscn
- Fix up HBQ initialization
- Fix port_list locking around driver unload.
- Fix references to hostdata as a phba
- Fix GFFID type offset to work correctly with big endian structure.
- Only call pci_disable_msi if the pci_enable_msi succeeded
- Fix vport_delete wait/fail if in discovery
- Put a reference on the nameservers ndlp when performing CT traffic.
- Remove unbalanced hba unlock.
- Fix up HBQ processing
- Fix lpfc debugfs discovery trace output for ELS rsp cmpl
- Send ADISC when rpi is 0
- Stop FDISC retrying forever
- Unable to retrieve correct config parameter for vport
- Fix sli_validate_fcp_iocb, sli_sum_iocb, sli_abort_iocb to be vport-aware.
- Fix index-out-of-range error in iocb. Spotted by Coverity.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
- Remove the "management_version" sysfs parameter (was unused)
- Add HBQ information to lpfc debugfs
- Change lpfc_npiv_enable name back to lpfc_enable_npiv (internal stds)
- Remove "issue_lip" attribute from the vports transport templateSigned-off-by: James Smart
Signed-off-by: James Bottomley -
Rework the lpfc_printf_log() macro so that logging is enabled on a
per-vport basis. Used to be on a physical-port basis, thus logging
with large numbers of vports became a mess. Required redefinition of
the macro, and an update of every use.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
- Split attributes up into vport and non-vport attributes.
- Move vport specific cfg params to vportMany of the vport-specific behaviors were still global attributes
on the physical port. Move them to the vport itself.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Cleans up a lot of bad behaviors that have been in this area a while
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Error messages and debugfs updates:
- Fix up GID_FT error messages
- Enhance debugfs with slow_ring_trace, dumpslim and nodelist information
- Add log type (and messages) for vport state changes
- Enhance log messages when retries ELS failSigned-off-by: James Smart
Signed-off-by: James Bottomley
18 Jun, 2007
4 commits
-
Following the NPIV support, the following changes have been accumulated
in the testing and qualification of the driver:- Fix affinity of ELS ring to slow/deferred event processing
- Fix Ring attention masks
- Defer dev_loss_tmo timeout handling to worker thread
- Consolidate link down error classification for better error checking
- Remove unused/deprecated nlp_initiator_tmr timer
- Fix for async scan - move adapter init code back into pci_probe_one
context. Fix async scan interfaces.
- Expand validation of ability to create vports
- Extract VPI resource cnt from firmware
- Tuning of Login/Reject policies to better deal with overwhelmned targets
- Misc ELS and discovery fixes
- Export the npiv_enable attribute to sysfs
- Mailbox handling fix
- Add debugfs support
- A few other small misc fixes:
- wrong return values, double-frees, bad locking
- Added adapter failure heartbeatSigned-off-by: James Smart
Signed-off-by: James Bottomley -
NPIV support is added to the driver. It utilizes the interfaces of
the fc transport for the creation and deletion of vports. Within the
driver, a new Scsi_Host is created for each NPIV instance, and is
paired with a new instance of a FC port. This allows N FC Port
elements to share a single Adapter.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
NPIV support is only available via new adapter interface extensions,
termed SLI-3. This interface changes some of the basic behaviors such
as command and response ring element sizes and data structures, as
well as a change in buffer posting. Note: the new firmware extensions
are found only on our mid-range and enterprise 4Gig adapters - so NPIV
support is available only on these newer adapters. The latest firmware
can be downloaded from the Emulex support page.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
The driver is reorganized to separate the handling of the adapter from
the handling of the FC port. Adapter handling includes submissions of
command requests, receiving responses, and managing adapter resources.
The FC port includes the discovery engine, login handling, and the
mapping of a Scsi_Host on the "port". Although not a large functional
change, as it touches core structures and functions, resulting in a
large text delta.Signed-off-by: James Smart
Signed-off-by: James Bottomley
06 May, 2007
11 commits
-
Update copyright year to 2007
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Added support for 8G speed and new HBAs.
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Collapse discovery lists to a single node list.
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Reference count node structures for node lifetime management.
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Improve diagnostic messages and change local loopback message to KERN_INFO
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Fixed recovery of rport after race with dev_loss_tmo
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Reorganize lpfc_nlp_list() and callers to prepare for nodelist simplification.
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Fix unlock inside list traversal.
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Rework offline path to solve HBA reset issues
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Modify ELS abort handling to prevent double completion
Rework portions of ELS abort handling to prevent double completion
- Rework ELS iotags and correct abort routine
- Move the (badly wrong) ELS completion logic from the initial ELS
abort request function to the ELS completion function.
- Fixup the iocb completion handling to account for the ELS abort
completions.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Misc bug fixes and code cleanup:
- Fix system hang while running on systems with IOMMU
- Fix use after free issues with rports
- Don't free mailbox structure if it's still on the mboxq list
- Decrement txq_cnt rather than txcmplq_cnt when parsing the txq list
- Use msleep for long delays to prevent soft lockup bug check
- Don't remove node during dev_loss_tmo if discovery is active
- Fix memory leaks in get/reset statistics and link attention paths
- Fixed lpfc_ns_rsp to handle entire GID_FT response.
- mbox interface should use MAILBOX_CMD_SIZE rather than sizeof(MAILBOX_t)
- Fixed bug check in add_timer.
- Fixup messages 0116, 0117, and 0128 to report ELS I/O tag.
- Remove unused parameter to lpfc_cleanup.
- Change mailbox timeout handling.
- Remove unused buflist. Code cleanup.Signed-off-by: James Smart
Signed-off-by: James Bottomley
03 Dec, 2006
4 commits
-
The driver now allows both wwpn and wwnn to be set.
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Fix Memory leaks associated with mbox cmds READ_LA, READ_SPARAM, REG_LOGIN
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
It was not accounted for in the fast/slow rings.
Genericize the implementation and control it via sysfsSigned-off-by: James Smart
Signed-off-by: James Bottomley -
Discovery Fixes:
- Prevent starting discovery of a node if discovery is in progress.
- Code improvement (reduction) for lpfc_findnode_did().
- Update discovery to send RFF to Fabric on link up
- Bypass unique WWN checks for fabric addresses
- Add ndlp to plogi list prior to issuing the plogi els commandSigned-off-by: James Smart
Signed-off-by: James Bottomley
31 Oct, 2006
1 commit
-
kernel: INFO: trying to register non-static key.
kernel: the code is fine but needs lockdep annotation.
kernel: turning off the locking correctness validator.
kernel: [] show_trace_log_lvl+0x58/0x16a
kernel: [] show_trace+0xd/0x10
kernel: [] dump_stack+0x19/0x1b
kernel: [] __lock_acquire+0xf0/0x90d
kernel: [] lock_acquire+0x4b/0x6b
kernel: [] _spin_lock_irqsave+0x22/0x32
kernel: [] prepare_to_wait+0x17/0x4b
kernel: [] lpfc_do_work+0xdd/0xcc2 [lpfc]
kernel: [] kthread+0xc3/0xf2
kernel: [] kernel_thread_helper+0x5/0xbAnother case of non-static lockdep keys; duplicate the paradigm set by
DECLARE_COMPLETION_ONSTACK and introduce DECLARE_WAIT_QUEUE_HEAD_ONSTACK.Signed-off-by: Peter Zijlstra
Cc: Greg KH
Cc: Markus Lidel
Acked-by: Ingo Molnar
Cc: Arjan van de Ven
Cc: James Bottomley
Cc: Marcel Holtmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
05 Sep, 2006
2 commits
-
Add support for a new lpfc soft_wwpn sysfs attribute
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Add support for new dev_loss_tmo callback
Goodness is that it removes code for a parallel nodev timer that
existed in the driver
Add support for the new fast_io_fail callbackSigned-off-by: James Smart
Signed-off-by: James Bottomley
03 Sep, 2006
1 commit
-
Add support to post events via new FC event interfaces
Signed-off-by: James Smart
Signed-off-by: James Bottomley
20 Aug, 2006
1 commit
-
Misc Bug Fixes:
- Cap MBX_DOWN_LINK command timeout to 60 seconds
- Fix double free of ndlp object
- Don't free mbox structures on error. The completion handlers expect to do so.
- Clear host attention work items when going offline
- Fixed discovery issues in multi-initiator environments.Signed-off-by: James Smart
Signed-off-by: James Bottomley
07 Aug, 2006
1 commit
-
ID String and Message fixes
- Fix switch symbolic name registration to match cross-OS values
- Replace printk's with more standard lpfc_printf_log calls
- Make all lpfc_printf_log message numbers uniqueSigned-off-by: James Smart
Signed-off-by: James Bottomley
09 Jul, 2006
1 commit
-
Standardize the driver on a single define for the maximum supported targets.
Signed-off-by: James Smart
Signed-off-by: James Bottomley
20 Apr, 2006
3 commits
-
Contains the following misc fixes:
- Fix build warnings
- Race condition in lpfc_workq_post_event() could corrupt phba->work_list.
- nlp_sid was not being initialized properly
- Fix some RSCN handling during the re-discovery after Link Up event.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Additional fixes to LOGO, PLOGI, and RSCN processing
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Fix Discovery processing for NPorts that hit nodev_tmo during discovery
Signed-off-by: James Smart
Signed-off-by: James Bottomley
12 Mar, 2006
4 commits
-
Two misc fixes:
- Fix deadlock caused by return with host_lock held in lpfc_findnode_did
- Initialize all fields of the allocated mail box structure to zero.
Was causing some sysfs mailbox commands to fail immediately after load.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Introduce lpfc_reset_barrier() function for resets on dual channel adapters
Workaround for a hardware errata on dual channel asics. There is a
potential for the chip to lock up on a reset if a shared dma engine is in
use. The (ugly) work around requires a reset process which uses a mailbox
command to synchronize the independent channels prior to the reset to
avoid the issue. Unfortunately, the timing windows required to ensure this
workaround succeeds are very specific, meaning we can't release the cpu
during the barrier.Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Fixed a timer panic due to timer firing after freeing ndlp
Signed-off-by: James Smart
Signed-off-by: James Bottomley -
Fixed RSCN handling when a PLOGI is in retry.
Signed-off-by: James Smart
Signed-off-by: James Bottomley