1. 09 6月, 2009 3 次提交
  2. 27 4月, 2009 2 次提交
    • J
      [SCSI] lpfc 8.3.1: misc fixes/changes · a257bf90
      James Smart 提交于
      8.3.1 Fixes/Changes :
      
      - Fix incorrect byte-swapping on word 4 of IOCB (data length) which
        caused LUNs to not be discovered on big-endian (e.g. PPC)
      
      - Remove a bad cast of MBslimaddr which loses the __iomem (sparse)
      
      - Make lpfc_debugfs_mask_disc_trc static (sparse)
      
      - Correct misspelled word BlockGuard in lpfc_logmsg.h comment
      
      - Replaced repeated code segment for canceling IOCBs from a list with
        a function call, lpfc_sli_cancel_iocbs().
      
      - Increased HBQ buffers to support 40KB SSC sequences.
      
      - Added sysfs interface to update speed and topology parameter without
        link bounce.
      
      - Fixed bug with sysfs fc_host WWNs not being updated after changing
        the WWNs.
      
      - Check if the active mailbox is NULL in the beginning of the mailbox
        timeout handler - fixes panic in the mailbox timeout handler while
        running IO stress test
      
      - Fixed system panic in lpfc_pci_remove_one() due to ndlp indirect
        reference to phba through vport
      
      - Removed de-reference of scsi device after call to scsi_done() to fix
        panic in scsi completion path while accessing scsi device after
        scsi_done is called.
      
      - Fixed "Nodelist not empty" message when unloading the driver after
        target reboot test
      
      - Added LP2105 HBA model description
      
      - Added code to print all 16 words of unrecognized ASYNC events
      
      - Fixed memory leak in vport create + delete loop
      
      - Added support for handling dual error bit from HBA
      
      - Fixed a driver NULL pointer dereference in lpfc_sli_process_sol_iocb
      
      - Fixed a discovery bug with FC switch reboot in lpfc_setup_disc_node
      
      - Take NULL termintator into account when calculating available buffer space
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      a257bf90
    • J
  3. 11 2月, 2009 1 次提交
  4. 30 12月, 2008 3 次提交
    • J
      [SCSI] lpfc 8.3.0 : Fix several minor issues · eaf15d5b
      James Smart 提交于
      - Avoid polling HBA Error Attention when HBA's PCI channel is offline
        due to PCI EEH
      
      - Fix handling of RSCN with non-zero event qualifiers
      
      - Remove unnecessary sleeps during HBA initialization which slow down
        driver load
      
      - Fix internal and external loopback on FCoE HBAs
      
      - Fix incorrect decrement of cmd_pending count in lpfc_queuecomand
        error path
      
      - Fix reporting of port busy events to management application
      
      - Rename lpfc_adjust_queue_depth() to lpfc_rampdown_queue_depth() for
        consistency with its partner lpfc_rampup_queue_depth()
      
      - Delete redundant lpfc_cmd->start_time = jiffies assignment in
        lpfc_queuecommand()
      
      - Fix handling for ELS, mailbox and heartbeat time outs in the worker
        thread by removing unnecessary checking of the work_port_events
        flags.
      
      - Fix NULL pointer dereference in lpfc_prep_els_iocb
      
      - In lpfc_device_recov_npr_node(), move clearing of NLP_NPR_2B_DISC
        flag after call to lpfc_cancel_retry_delay_tmo() to keep
        targets-in-discovery count correct
      
      - Remove lpfc_probe_one()'s call to scsi_scan_host() which could cause
        concurrent SCSI scans to step on each other
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      eaf15d5b
    • J
      [SCSI] lpfc 8.3.0 : Fix multiple NPIV issues · eada272d
      James Smart 提交于
      - Fix lock up on rmmod with vports defined by having
        lpfc_pci_remove_one() invoke fc_vport_terminate() to remove all the
        vports before invoking fc_remove_host() for the physical port
      
      - Fix echotest failure when NPIV is enabled
      
      - Add the vport_disable function to the physical port's transport
        template to make the vport disable attribute visible
      
      - Set the vport state to DISABLE on create if the disable flag is
        true
      
      - Call lpfc_alloc_sysfs_attr() for vports so that statistical data
        collection works on them
      
      - Support setting a vport's symbolic name via sysfs by writing to
        /sys/class/fc_vport/vportX/symbolic_name
      
      - Fix create vport fails when link is down or in loop mode.  Should be
        able to be create vports any time NPIV is enabled
      
      - Fix slow vport deletes when deleting multiple vports at once
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      eada272d
    • J
      [SCSI] lpfc 8.3.0 : Rework RSCN netlink event to send entire RSCN payload · ddcc50f0
      James Smart 提交于
      Rework RSCN netlink event to send entire RSCN payload
      
      Also replaces (SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_EMULEX) with
      LPFC_NL_VENDOR_ID
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      ddcc50f0
  5. 13 10月, 2008 5 次提交
  6. 12 7月, 2008 3 次提交
  7. 10 4月, 2008 2 次提交
    • J
      [SCSI] lpfc 8.2.6 : Miscellaneous Fixes · 97eab634
      James Smart 提交于
      Miscellaneous Fixes
      - Allow WRITE_VPARAM command when the virtual port is in a stopped state
      - Fixed handling of our queue depth max that was unconditionally raising
        the depth on all vports, rather than just the vport affected.
      - Fix race in interrupt handler for mailbox processing that did not take
        out the host lock.
      - Removed unused functions: find_node, findnode_rpi, and fabric_abort_flogi
      - Correct misspelled word unsolicited in message 0146
      - Correct HW-error 5 handling - it should not reset the adapter
      - Correct handling of IOCBs, which did not null out our pCmd field before
        invoking the midlayer io done function.
      - Changed our maximum supported target id to 4096
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      97eab634
    • J
      [SCSI] lpfc 8.2.6 : Multiple discovery fixes · 58da1ffb
      James Smart 提交于
      Multiple Discovery Fixes:
      - Fix race on discovery due to link events coinciding with vport_delete.
      - Use NLP_FABRIC state to filter out switch-based pseudo initiators that
         reuse the same WWNs.
      - Correct erroneous setting of DID=0 in lpfc_matchdid()
      - Correct extra reference count that was in the lookup path for the
        remoteid from an unsolicited ELS.
      - Correct double-free bug in els abort path.
      - Correct FDMI server discovery logic for switch that return a WWN of 0.
      - Fix bugs in ndlp mgmt when a node changes address
      - Correct bug that did not delete RSCNs for vports upon link transitions
      - Fix "0216 Link event during NS query" error which pops up when vports
        are swapped to different switch ports.
      - Add sanity checks on ndlp structures
      - Fix devloss log message to dump WWN correctly
      - Hold off mgmt commands that were interferring with discovery mailbox cmds
      - Remove unnecessary FC_ESTABLISH_LINK logic.
      - Correct some race conditions in the worker thread, resulting in devloss:
        - Clear the work_port_events field before handling the work port events
        - Clear the deferred ring event before handling a deferred ring event
        - Hold the hba lock when waking up the work thread
        - Send an acc for the rscn even when we aren't going to handle it
      - Fix locking behavior that was not properly protecting the ACTIVE flag,
        thus allowing mailbox command order to shift.
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      58da1ffb
  8. 12 2月, 2008 3 次提交
  9. 24 1月, 2008 3 次提交
    • J
      [SCSI] lpfc 8.2.4 : Rework misplaced reference taking on node structure · fa4066b6
      James Smart 提交于
      Rework misplaced reference taking on node structure
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      fa4066b6
    • J
      [SCSI] lpfc 8.2.4 : Miscellaneous Fixes · 09372820
      James Smart 提交于
      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: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      09372820
    • J
      [SCSI] lpfc 8.2.4 : Miscellaneous Discovery/ELS Fixes · 0ff10d46
      James Smart 提交于
      Miscellaneous Discovery/ELS Fixes:
      - Delay free's of ELS requests if adapter reject conditions
      - Fix concurrent PLOGI vs ADISC state handling
      - Add retry mechanism for GFF_ID
      - Correct some illegal state transitions around RSCN timeouts
      - Fix missing return in FAN handling
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      0ff10d46
  10. 12 1月, 2008 5 次提交
    • A
      [SCSI] lpfc: minor cleanups · a6ababd2
      Adrian Bunk 提交于
      This patch contains the following minor cleanups:
      - make the following needlessly global functions static:
        - lpfc_els.c: lpfc_register_new_vport()
        - lpfc_els.c: lpfc_issue_els_fdisc()
        - lpfc_els.c: lpfc_issue_fabric_iocb()
        - lpfc_els.c: lpfc_fabric_abort_vport()
        - lpfc_hbadisc.c: lpfc_dev_loss_tmo_handler()
        - lpfc_hbadisc.c: lpfc_mbx_cmpl_clear_la()
        - lpfc_hbadisc.c: lpfc_disc_flush_list()
        - lpfc_hbadisc.c: __lpfc_find_node()
        - lpfc_init.c: lpfc_hb_timeout()
        - lpfc_init.c: lpfc_block_mgmt_io()
        - lpfc_sli.c: __lpfc_sli_release_iocbq()
        - lpfc_sli.c: lpfc_sli_next_hbq_slot()
        - lpfc_sli.c: lpfc_sli_hbqbuf_init_hbqs()
        - lpfc_sli.c: lpfc_sli_hbqbuf_find()
        - lpfc_sli.c: __lpfc_sli_issue_iocb()
      - #if 0 the following unused global functions:
        - lpfc_els.c: lpfc_fabric_abort_flogi()
        - lpfc_hbadisc.c: lpfc_find_node()
        - lpfc_hbadisc.c: lpfc_findnode_rpi()
      - remove the unused exports
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Acked-by: NJames Smart <James.Smart@Emulex.Com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      a6ababd2
    • J
      [SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 2 · a8adb832
      James Smart 提交于
      Miscellaneous Small Fixes - part 2
      
      - Fix ndlp left in PLOGI state after link up
      - Fix cannot rcv unsol ELS frames after running HBA resets for a few minutes
      - Fix HBQ buffer_count implemention
      - Fix RPI leak
      - Fix crash while deleting vports while HBA is reset
      - Revert the FCP Fbits offset back to 7
      - Fix panic when deleting vports
      - Remove unused code in switch statement outside of a case
      - Reject PLOGI from invalid PName or NName of 0
      - Ignore PLOGI responses from WWPName or WWNName of 0
      - Fix debugfs hbqinfo display for ppc
      - Added 8G to list of supported speeds for sysfs parameter
      - Defer ndlp cleanup to dev-loss timeout handler
      - Added support for WRITE_VPARMS mailbox command by applications
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      a8adb832
    • J
      [SCSI] lpfc 8.2.3 : FC Discovery Fixes · 87af33fe
      James Smart 提交于
      FC Discovery Fixes:
      - Fix up lpfc_drop_node() vs lpfc_nlp_not_used() usage
      - Clear ADISC flag when unregistering RPI and REMOVE ndlps if in recovery.
      - Fix usage of UNUSED list and ndlps
      - Fix PLOGI race conditions
      - Reset link if NameServer PLOGI errors occur
      - Synchronize GID_FT queries with PLOGI receptions
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      87af33fe
    • J
      [SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 1 · 98c9ea5c
      James Smart 提交于
      Miscellaneous Small Fixes - part 1
      - Fix typo kmzlloc -> kzalloc
      - Fix discovery ndlp use after free panic
      - Fix link event causing flood of 0108 messages
      - Relieve some mbox congestion on link up with 100 vports
      - Fix broken vport parameters
      - Prevent lock recursion in logo_reglogin_issue
      - Split uses of error variable in lpfc_pci_probe_one into retval and error
      - Remove completion code related to dev_loss_tmo
      - Remove unused LPFC_MAX_HBQ #define
      - Don't compare pointers to 0 for sparse
      - Make 2 functions static for sparse
      - Fix default rpi cleanup code causing rogue ndlps to remain on the NPR list
      - Remove annoying ELS messages when driver is unloaded
      - Fix Cannot issue Register Fabric login problems on link up
      - Remove LPFC_EVT_DEV_LOSS_DELAY
      - Fix FC port swap test leads to device going offline
      - Fix vport CT flags to only be set when accepted
      - Add code to handle signals during vport_create
      - Fix too many retries in FC-AL mode
      - Pull lpfc_port_link_failure out of lpfc_linkdown_port
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      98c9ea5c
    • J
      [SCSI] lpfc 8.2.3 : Remove flawed MBX_STOP_IOCB logic · 0b727fea
      James Smart 提交于
      Remove flawed MBX_STOP_IOCB logic
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      0b727fea
  11. 02 8月, 2007 5 次提交
  12. 18 6月, 2007 4 次提交
    • J
      [SCSI] lpfc: bug fixes · 858c9f6c
      James Smart 提交于
       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: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      858c9f6c
    • J
      [SCSI] lpfc: NPIV: add NPIV support on top of SLI-3 · 92d7f7b0
      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: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      92d7f7b0
    • J
      [SCSI] lpfc: NPIV: add SLI-3 interface · ed957684
      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: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      ed957684
    • J
      [SCSI] lpfc: NPIV: split ports · 2e0fef85
      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: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      2e0fef85
  13. 06 5月, 2007 1 次提交