12 Feb, 2008

2 commits

  • Fix buffer leaks:
    - HBQ dma buffer leak at dma_pool_destroy when unloading driver
    - Fix missing buffer free in slow ring buffer handling

    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • Miscellaneous discovery fixes:
    - Flush RSCN buffers on vports when reseting HBA.
    - Fix incorrect FLOGI after vport reg failed
    - Fix a potential fabric ELS race condition
    - Fix handling of failed PLOGI command under high lip rates
    - Fix FDISC handling
    - Fix debug logging for npiv handling

    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     

24 Jan, 2008

1 commit

  • Miscellaneous Fixes:
    - Fix a couple of sparse complaints
    - Reset the FCP recovery flag when the node is not a FCP2 device.
    - Speed up offline prep delays
    - Fixed a memory leak in lpfc_mem_alloc failure path
    - Fixed external loopback test.
    - Fixed error code returned from the driver when HBA is over heated.
    - Correct Max NPIV vport to limits read from adapter
    - Add missing locks around fc_flag and FC_NEEDS_REG_VPI
    - Add missing hba ids for device identification
    - Added support for SET_VARIABLE and MBX_WRITE_WWN mailbox commands
    - Changed all temperature event messages from warning to error
    - Fix reporting of link speed when link is down
    - Added support for MBX_WRITE_WWN mailbox command
    - Change del_timer_sync() in ISR to del_timer() in interrupt handler
    - Correct instances of beXX_to_cpu() that should be cpu_to_beXX()
    - Perform target flush before releasing node references on module unload
    - Avoid bogus devloss_tmo messages when driver unloads
    - Fix panic when HBA generates ERATT interupt
    - Fix mbox race condition and a workaround on back-to-back mailbox commands
    - Force NPIV off for pt2pt mode between 2 NPorts
    - Stop worker thread before removing fc_host.
    - Fix up discovery timeout error case due to missing clear_la
    - Tighten mailbox polling code to speed up detection of fast completions
    - Only allow DUMP_MEMORY if adapter offline due to overtemp errors
    - Added extended error information to the log messages in chip init.

    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     

02 Aug, 2007

1 commit

  • - 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

    James Smart
     

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 heartbeat

    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • 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

    James Smart
     
  • 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

    James Smart
     
  • 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

    James Smart
     

06 Jan, 2007

1 commit


09 Jul, 2006

1 commit


27 Mar, 2006

1 commit

  • This patch changes several mempool users, all of which are basically just
    wrappers around kmalloc(), to use the common mempool_kmalloc/kfree, rather
    than their own wrapper function, removing a bunch of duplicated code.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     

28 Oct, 2005

1 commit


13 Aug, 2005

2 commits

  • Replace use of lpfc_put_lun with midlayer's int_to_scsilun

    Remove driver's local definition of lpfc_put_lun (which converts an
    int back to a 64-bit LUN) and replace it's use with the recently added
    int_to_scsilun function provided by the midlayer.

    Note: Embedding midlayer structure in our structure caused
    need for more files to include midlayer headers.

    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James.Smart@Emulex.Com
     
  • Fix panic in lpfc_get_stats()

    Symptoms: Panic on sysfs stats access

    Cause: In lpfc_get_stats() we are writing to memory that we do not
    own.

    Fix: Fix our stats structure allocation. Embed phba->link_stats in
    struct lpfc_hba and stop treating it like rogue structure.

    Note: Embedding midlayer/transport structure in our structure caused
    need for more files to include midlayer/transport headers.

    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James.Smart@Emulex.Com
     

03 Jul, 2005

2 commits


19 Apr, 2005

1 commit