1. 06 6月, 2015 1 次提交
  2. 24 8月, 2013 2 次提交
  3. 03 5月, 2013 1 次提交
  4. 15 12月, 2011 1 次提交
    • J
      [SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes · df9e1b59
      James Smart 提交于
      FC and SCSI Discovery Fixes:
      
      - Clear the virtual fabrics bit (word 1 bit 30) when sending the FLOGI
        and FDISC. (CR 124339)
      - Return a MLQUEUE_DEVICE_BUSY if the driver detects that an I/O is being
        retried too quickly (CR 124668)
      - Remove NDLP reference put in lpfc_cmpl_els_logo_acc for all but fabric
        nodes (CR 123924)
      - Only retry FDISCs every second and stop retrying after devloss number
        of retries (CR 13939)
      - Check to see if vports are unloading before adding them to the vport
        work array. (CR 124996)
      - Fixed illegal state transition during driver unload (CR 124191)
      - Added missing protection on setting/clearing of vport->fc_flag bit (CR 126002)
      - Set NPIV flag in lpfc_mbx_process_link_up for all ports sli3 and
        above. (CR 126094)
      - Clear FCP command bytes that are not used. (CR 126209)
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      df9e1b59
  5. 17 10月, 2011 1 次提交
    • J
      [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes · 73d91e50
      James Smart 提交于
      Miscellanous logic and interface fixes
      
      - Fix lpfc_init_vfi_cmpl to check the interface type for interface type 0
        before parsing the results.
      - Cast uint32_t values that are multiplied to uint64_t before the
        multiplication.
      - Instead of "break" statement when PCI read returned error, use the goto
        statement to the end of the routine after setting return value
      - moved the msleep(10) to the beginning of the wait loop for checking the
        SLIPort_Status register
      - Added the code to follow the existing wait for SLIPort_Status register RDY,
        ERR, and RN bits to be set by the port before proceeding to perform PCI
        function reset.
      - Do not override ulpCt_h and ulpCt_l for SLI 4 ports.
      - For vport delete, call lpfc_nlp_put when the vport's vpi state is not
        marked with VPI_REGISTERED.
      - Added missed fields into the driver's Controller Attributes Structure
      - Changed ringing EQ/CQ/RQ doorbell register to be dependent on the size
        of the queue.
      - Return -EACCES in issue_reset if cfg_enable_hba_reset is zero.
      - Added new logging flag LOG_FCP_UNDER 0x00040000 to qualify underrun logging.
      - Add a check in the fabric name display routine to display 0 if the port
        state is <= FLOGI.
      - Add a check to the switch statement in lpfc_decode_firmware_rev to check
        for an 'X'.
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      73d91e50
  6. 27 5月, 2011 1 次提交
  7. 19 2月, 2011 1 次提交
  8. 22 12月, 2010 1 次提交
    • J
      [SCSI] lpfc 8.3.19: Add SLI4 FC Discovery support · 76a95d75
      James Smart 提交于
      Add SLI4 FC Discovery support
      
      - Replace READ_LA and READ_LA64 with READ_TOPOLOGY mailbox command.
      - Converted the old READ_LA structure to use bf_set/get instead of bit fields.
      - Rename HBA_FCOE_SUPPORT flag to HBA_FCOE_MODE. Flag now indicates function
        is running as SLI-4 FC or FCoE port. Make sure flag reset each time
        READ_REV completed as it can dynamically change.
      - Removed BDE union in the READ_TOPOLOGY mailbox command and added a define to
        define the ALPA MAP SIZE. Added FC Code for async events.
      - Added code to support new 16G link speed.
      - Define new set of values to keep track of valid user settable link speeds.
      - Used new link speed definitions to define link speed max and bitmap.
      - Redefined FDMI Port sppeds to be hax values and added the 16G value.
      - Added new CQE trailer code for FC Events.
      - Add lpfc_issue_init_vfi and lpfc_init_vfi_cmpl routines.
      - Replace many calls to the initial_flogi routine with lpfc_issue_init_vfi.
      - Add vp and vpi fields to the INIT_VFI mailbox command.
      - Addapt lpfc_hba_init_link routine for SLI4 use.
      - Use lpfc_hba_init_link call from lpfc_sli4_hba_setup.
      - Add a check for FC mode to register the FCFI before init link.
      - Convert lpfc_sli4_init_vpi to be called without a vpi (get it from vport).
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      76a95d75
  9. 08 10月, 2010 1 次提交
  10. 28 7月, 2010 1 次提交
  11. 12 4月, 2010 1 次提交
  12. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  13. 03 3月, 2010 1 次提交
  14. 18 2月, 2010 1 次提交
  15. 09 2月, 2010 1 次提交
    • J
      [SCSI] lpfc 8.3.8: BugFixes: Discovery relates changes · 695a814e
      James Smart 提交于
      Discovery relates changes:
      - Separated VPI_REGISTERED state of physical port into VFI_REGISTERED and
        VPI_REGISTERED state so that driver can unregister physical port VPI
        independent of VFI.
      - Add code to unregister, re-init and re-register physical port VPI
        when physical port NportID change.
      - Add code to unregister and re-register VPI of a vport when its Nport
        ID change.
      - Add code in FDISC completion path to re-start FLOGI discovery when
        a FDISC complete with LOGIN_REQUIRED reason code.
      - Fix a memory leak in lpfc_init_vpi_cmpl
      - Add code to start a timer for vport to retry FDISC when CVL is received
        by a vport or physical port. If all Nports receive CVLs, then all timers
        are cancelled and a logical link level discovery will be started after
        one second.
      - Flush ELS commands after killing all delayed ELS commands.
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      695a814e
  16. 05 1月, 2010 2 次提交
  17. 05 12月, 2009 2 次提交
    • J
      [SCSI] lpfc 8.3.6 : FC Protocol Fixes · 5ffc266e
      James Smart 提交于
      FC protocol fixes.
       - Fix send sequence logic to handle multi SGL IOCBs.
       - Fix FDISC completion always setting VPORT state to failed.
       - Ported the fix on reporting of max_vpi to uppper layer.
       - Fix incorrect number of Vports allowed to be created.
       - Fixed Dead FCoE port after creating vports.
       - Added handling of ELS request for Reinstate Recovery Qualifier (RRQ)
       - Handle unsolicited CT exchange initiator receiving CT exchange ABTS
       - Migrate LUN queue depth ramp up code to scsi mid-layer.
       - Made ABTS WQE go to the same WQ as the WQE to be aborted.
       - Fix Vport does not rediscover after FCF goes away.
       - Fixed lpfc_unreg_vfi failure after devloss timeout.
       - Fixed RPI bit leak.
       - Fix hbq pointer corruption during target discovery.
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      5ffc266e
    • J
      [SCSI] lpfc 8.3.6 : FCoE Protocol Fixes · c868595d
      James Smart 提交于
      FCoE Protocol fixes.
       - Fixed FIP frame designation for ELS commands.
       - Fix CVL received on Port 1 not processed by driver.
       - Fix Zeroed frame on wire after FLOGI
       - Fix vport keep-alive does not contain the correct WWN.
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      c868595d
  18. 23 8月, 2009 2 次提交
  19. 15 6月, 2009 1 次提交
  20. 09 6月, 2009 3 次提交
  21. 27 4月, 2009 1 次提交
  22. 30 12月, 2008 1 次提交
    • 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
  23. 13 10月, 2008 3 次提交
  24. 12 7月, 2008 1 次提交
    • J
      [SCSI] lpfc 8.2.7 : Miscellaneous Fixes · 495a714c
      James Smart 提交于
      Miscellaneous Fixes:
      - Fix bug in mbox sysfs interface that locked in EAGAIN if discovery stalled.
      - Fix missing error message when npiv and loop are true when link up occurs.
      - Fix panic in lpfc_scsi_cmd_iocb_cmpl: scsi_buf was NULL, but created
        race conditions with other code paths.
      - Fix error in sysfs mailbox structure that didn't rezero on next use.
      - Add missing mempool_free() to attachment failure path
      - Fix missing put of ndlp structure during driver unload.
      - Fix applications unable to send mailbox commands during discovery.
      - Remove unused argument (type) from function lpfc_post_buffer() API
      - Fix vport name is not shown after hbacmd vportcreate.
      - Remove repeated code statements.
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      495a714c
  25. 10 4月, 2008 1 次提交
    • 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
  26. 12 2月, 2008 1 次提交
  27. 24 1月, 2008 1 次提交
    • 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
  28. 12 1月, 2008 4 次提交
    • 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 : 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 : NPIV bug fixes · 7ee5d43e
      James Smart 提交于
      NPIV bug fixes:
      - Remove vport params on physical hba when npiv is disabled
      - Implement new DA_ID CT command to remove vport information from
        the switch after delete. Some switches didn't clean this up unless
        the physical link dropped.
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      7ee5d43e
  29. 02 8月, 2007 1 次提交