07 Aug, 2010

1 commit

  • - Remove unneeded Endian swap for Block Guard IOCB response
    - Add a check for mailbox active before issuing the heartbeat command
    - Correct heartbeat last_completion updates to avoid unneeded heartbeats
    - Add Security crypto support to CONFIG_PORT mailbox command
    - Add fips level and fips spec revision sysfs parameters
    - Remove duplicate setting of ext_byte_len fields in lpfc_bsg_issue_mbox
    - Switch call to memcpy_toio to __write32_copy to prevent unaligned 64 bit copy
    - Change log message 0318 from an error to a warning as it is not an error
    - Patch an incorrect call to lpfc_drain_txq on SLI-3 functions

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

    James Smart
     

28 Jul, 2010

6 commits

  • Signed-off-by: Alex Iannicelli
    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • - BSG interface related:
    - Fix node reference count if node is active
    - Warn if we're overwriting an active CT context

    - Discovery related:
    - Clear "Ignore Reg Login" flag when purging mailbox queue
    - Pay attention to return code for fc_block_scsi_eh()
    - Stall device loss code if we're almost done when it fires
    (we're logged in, but PRLI is outstanding)

    - Bugs
    - Correct DIF code for endianness issues
    - Correct where we had missed points to check txq on i/o
    completion/cleanup

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

    James Smart
     
  • - Fixed accounting of allocated SCSI buffers when post sgl fails.
    - Restrict scsi buffer allocation based on LUN count (sdev_cnt).
    - Create __lpfc_sli_free_rpi that doesn't take out the hbalock.
    - Modify lpfc_sli_free_rpi to call __lpfc_sli_free_rpi.
    - Call __lpfc_sli_free_rpi in lpfc_cleanup_pending_mbox.
    - Do not swap the strings returned in mailbox commands and do
    not swap byte aligned data in VPD.

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

    James Smart
     
  • - Allow enabling MSI-X intterupts with fewer vectors than requested
    by looking at the return value from pci_enable_msix.
    - Implemented driver PCI AER error handling routines for supporting
    AER error recovering on SLI4 devices.
    - Remove redundant SLI_ACTIVE checks

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

    James Smart
     
  • Signed-off-by: Alex Iannicelli
    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • - Fix hba_queue_depth to reflect actual available XRIs
    - Add support for new SLER specific firmware status codes.
    - Free SCSI buffer when iotag allocation fails.

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

    James Smart
     

12 Apr, 2010

1 commit

  • Update driver for change in T10-PI interface on adapter
    - Remove Profiles.
    - Add new SLI Opcodes.
    - Add new PDE structures used for BlockGuard.

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

    James Smart
     

30 Mar, 2010

1 commit

  • …it 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: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

19 Mar, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (69 commits)
    [SCSI] scsi_transport_fc: Fix synchronization issue while deleting vport
    [SCSI] bfa: Update the driver version to 2.1.2.1.
    [SCSI] bfa: Remove unused header files and did some cleanup.
    [SCSI] bfa: Handle SCSI IO underrun case.
    [SCSI] bfa: FCS and include file changes.
    [SCSI] bfa: Modified the portstats get/clear logic
    [SCSI] bfa: Replace bfa_get_attr() with specific APIs
    [SCSI] bfa: New portlog entries for events (FIP/FLOGI/FDISC/LOGO).
    [SCSI] bfa: Rename pport to fcport in BFA FCS.
    [SCSI] bfa: IOC fixes, check for IOC down condition.
    [SCSI] bfa: In MSIX mode, ignore spurious RME interrupts when FCoE ports are in FW mismatch state.
    [SCSI] bfa: Fix Command Queue (CPE) full condition check and ack CPE interrupt.
    [SCSI] bfa: IOC recovery fix in fcmode.
    [SCSI] bfa: AEN and byte alignment fixes.
    [SCSI] bfa: Introduce a link notification state machine.
    [SCSI] bfa: Added firmware save clear feature for BFA driver.
    [SCSI] bfa: FCS authentication related changes.
    [SCSI] bfa: PCI VPD, FIP and include file changes.
    [SCSI] bfa: Fix to copy fpma MAC when requested by user space application.
    [SCSI] bfa: RPORT state machine: direct attach mode fix.
    ...

    Linus Torvalds
     

08 Mar, 2010

1 commit


03 Mar, 2010

2 commits

  • - Clear LPFC_DRIVER_ABORTED on FCP command completion.
    - Clear exchange busy flag when I/O is aborted and found on aborted list.
    - Free sglq when XRI_ABORTED event is processed before release of IOCB.
    - Only process iocb as aborted when LPFC_DRIVER_ABORTED is set.

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

    James Smart
     
  • - Add Logging message for critial errors.
    - Remove unused variable from lpfc_nodev_tmo_show
    - Update supress_link_up parameter with #define values.

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

    James Smart
     

18 Feb, 2010

2 commits


09 Feb, 2010

2 commits


05 Feb, 2010

1 commit


05 Dec, 2009

5 commits

  • Fix errors relating to crashes and hangs.
    - Fix crash due to list corruption while unloading driver.
    - Fix panic during pci-hot-plug testing.
    - Fix panic when unmapping luns.
    - Fixed total_scsi_bufs counting could cause exhausted memory.
    - Fixed locking issue causing hang.
    - Fixed the call from lpfc_new_scsi_buf_s3 to use lpfc_release_scsi_buf_s3.

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

    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: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • …ons and devloss timout fixes

    This patch includes the following changes:
    - Fixed Panic/Hang when using polling mode for fcp commands
    - Added support for Read_rev mbox bits indicating FIP mode of HBA
    - Optimize performance of slow-path handling of els responses
    - Add code to cleanup orphaned unsolicited receive sequences
    - Fixed Devloss timeout when multiple initiators are in same zone

    Signed-off-by: James Smart <james.smart@emulex.com>
    Signed-off-by: James Bottomley <James.Bottomley@suse.de>

    James Smart
     
  • This patch include the following fixes and changes:
    - Fix crash when "error" is echoed to board_mode sysfs parameter
    - Fix FCoE Parameter parsing in regions 23
    - Fix driver crash when creating vport with large number of targets on SLI4
    - Fix bug with npiv message being logged when it is not supported by the adapter
    - Fix a potential dereferencing mailbox structure after free bug
    - Fix firmware crash after vport create with high target count
    - Error out requests to set board_mode to warm restart via sysfs on SLI4 HBAs
    - Fix Block guard logging
    - Fix a memory corruption issue during GID_FT IO prep
    - Fix crash while processing unsolicited FC frames
    - Fix failed to allocate XRI message is not a critical failure
    - Update and fix formatting in some log messages
    - Fix missing new line characters in log messages
    - Removed the use of the locally defined FC transport layer related macros
    - Check the rsplen in lpfc_handle_fcp_err function before using rsplen

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

    James Smart
     
  • Move the duplicated code from FC LLDs to SCSI FC transport class.

    Acked-by: James Smart
    Acked-by: Giridhar Malavali
    Acked-by: Abhijeet Joglekar
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     

02 Oct, 2009

1 commit

  • The checksum format is orthogonal to whether the protection information
    is being passed on beyond the HBA or not. It is perfectly valid to use
    a non-T10 CRC with WRITE_STRIP and READ_INSERT.

    Consequently it no longer makes sense to explicitly refer to the
    conversion in the protection operation. Update sd_dif and lpfc
    accordingly.

    Signed-off-by: Martin K. Petersen
    Acked-by: Ihab Hamadi
    Signed-off-by: James Bottomley

    Martin K. Petersen
     

23 Aug, 2009

2 commits


18 Jun, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6:
    [SCSI] aic79xx: make driver respect nvram for IU and QAS settings
    [SCSI] don't attach ULD to Dell Universal Xport
    [SCSI] lpfc 8.3.3 : Update driver version to 8.3.3
    [SCSI] lpfc 8.3.3 : Add support for Target Reset handler entrypoint
    [SCSI] lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash
    [SCSI] lpfc 8.3.3 : FC/FCOE discovery fixes
    [SCSI] lpfc 8.3.3 : Fix various SLI-3 vs SLI-4 differences
    [SCSI] qla2xxx: Resolve a performance issue in interrupt
    [SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set.
    [SCSI] nsp_cs: time_out reaches -1
    [SCSI] qla2xxx: fix printk format warnings
    [SCSI] ncr53c8xx: div reaches -1
    [SCSI] compat: don't perform unneeded copy in sg_io code
    [SCSI] zfcp: Update FC pass-through support
    [SCSI] zfcp: Add FC pass-through support
    [SCSI] FC Pass Thru support

    Linus Torvalds
     

15 Jun, 2009

3 commits

  • Patch was originally submitted upstream on 4/21/2008:
    http://marc.info/?l=linux-scsi&m=120880973719266&w=2

    Somewhere, it never get merged. The patch restructures the task mgmt
    routines, commonizing like behavior. Then the patch changes device
    reset to LUN resets, and adds a target reset handler.

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

    James Smart
     
  • Contains the following changes
    - Set the CT field of FDISC to 3
    - Fixed over allocation of SCSI buffers on SLI4
    - Removed unused jump table entries
    - Increase LPFC_WQE_DEF_COUNT to 256
    - Updated FDISC context to VPI
    - Fixed immediate SCSI command for LUN reset translation to WQE
    - Extended mailbox handling to allow MBX_POLL commands in between async
    MBQ commands
    - Fixed SID used for FDISC
    - Fix crash when accessing ctlregs from sysfs for SLI4 HBAs
    - Fix SLI4 firmware version not being saved or displayed correctly
    - Expand CQID field in WQE structure to 16 bits
    - Fix post header template mailbox command timing out
    - Removed FCoE PCI device ID 0x0705

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

    James Smart
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (31 commits)
    trivial: remove the trivial patch monkey's name from SubmittingPatches
    trivial: Fix a typo in comment of addrconf_dad_start()
    trivial: usb: fix missing space typo in doc
    trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug
    trivial: Remove the hyphen from git commands
    trivial: fix ETIMEOUT -> ETIMEDOUT typos
    trivial: Kconfig: .ko is normally not included in module names
    trivial: SubmittingPatches: fix typo
    trivial: Documentation/dell_rbu.txt: fix typos
    trivial: Fix Pavel's address in MAINTAINERS
    trivial: ftrace:fix description of trace directory
    trivial: unnecessary (void*) cast removal in sound/oss/msnd.c
    trivial: input/misc: Fix typo in Kconfig
    trivial: fix grammo in bus_for_each_dev() kerneldoc
    trivial: rbtree.txt: fix rb_entry() parameters in sample code
    trivial: spelling fix in ppc code comments
    trivial: fix typo in bio_alloc kernel doc
    trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt
    trivial: Miscellaneous documentation typo fixes
    trivial: fix typo milisecond/millisecond for documentation and source comments.
    ...

    Linus Torvalds
     

13 Jun, 2009

1 commit


12 Jun, 2009

1 commit


09 Jun, 2009

4 commits

  • Add support for persistent vport definitions at creation at boot time

    Also includes a few misc fixes for:
    - conversion to vpi name from vport slang name
    - couple of small mailbox references
    - some additional discovery mods

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

    James Smart
     
  • Update of copyrights on modified files

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

    James Smart
     
  • Adds new hardware and interface definitions.

    Adds new interface routines - utilizing the reorganized layout of the
    driver. Adds SLI-4 specific functions for attachment, initialization,
    teardown, etc.

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

    James Smart
     
  • Preps the organization of the driver so that the bottom half, which
    interacts with the hardware, can share common code sequences for
    attachment, detachment, initialization, teardown, etc with new hardware.

    For very common code sections, which become specific to the interface
    type, the driver uses an indirect function call. The function is set at
    initialization. For less common sections, such as initialization, the
    driver looks at the interface type and calls the routines relative to
    the interface.

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

    James Smart
     

23 May, 2009

1 commit


11 May, 2009

1 commit

  • With recent cleanups, there is no place where low level driver
    directly manipulates request fields. This means that the 'hard'
    request fields always equal the !hard fields. Convert all
    rq->sectors, nr_sectors and current_nr_sectors references to
    accessors.

    While at it, drop superflous blk_rq_pos() < 0 test in swim.c.

    [ Impact: use pos and nr_sectors accessors ]

    Signed-off-by: Tejun Heo
    Acked-by: Geert Uytterhoeven
    Tested-by: Grant Likely
    Acked-by: Grant Likely
    Tested-by: Adrian McMenamin
    Acked-by: Adrian McMenamin
    Acked-by: Mike Miller
    Cc: James Bottomley
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Borislav Petkov
    Cc: Sergei Shtylyov
    Cc: Eric Moore
    Cc: Alan Stern
    Cc: FUJITA Tomonori
    Cc: Pete Zaitcev
    Cc: Stephen Rothwell
    Cc: Paul Clements
    Cc: Tim Waugh
    Cc: Jeff Garzik
    Cc: Jeremy Fitzhardinge
    Cc: Alex Dubov
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: Dario Ballabio
    Cc: David S. Miller
    Cc: Rusty Russell
    Cc: unsik Kim
    Cc: Laurent Vivier
    Signed-off-by: Jens Axboe

    Tejun Heo
     

27 Apr, 2009

2 commits

  • 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: James Smart
    Signed-off-by: James Bottomley

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

    James Smart