26 Mar, 2013

2 commits


03 Mar, 2013

1 commit

  • Pull SCSI updates from James Bottomley:
    "This is an assorted set of stragglers into the merge window with
    driver updates for qla2xxx, megaraid_sas, storvsc and ufs.

    It also includes pulls of the uapi tree (all the remaining SCSI
    pieces) and the fcoe tree (updates to fcoe and libfc)"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (81 commits)
    [SCSI] ufs: Separate PCI code into glue driver
    [SCSI] ufs: Segregate PCI Specific Code
    [SCSI] scsi: fix lpfc build when wmb() is defined as mb()
    [SCSI] storvsc: Handle dynamic resizing of the device
    [SCSI] storvsc: Restructure error handling code on command completion
    [SCSI] storvsc: avoid usage of WRITE_SAME
    [SCSI] aacraid: suppress two GCC warnings
    [SCSI] hpsa: check for dma_mapping_error in hpsa_passthru ioctls
    [SCSI] hpsa: reorganize error handling in hpsa_passthru_ioctl
    [SCSI] hpsa: check for dma_mapping_error in hpsa_map_sg_chain_block
    [SCSI] hpsa: Check for dma_mapping_error for all code paths using fill_cmd
    [SCSI] hpsa: Check for dma_mapping_error in hpsa_map_one
    [SCSI] dc395x: uninitialized variable in device_alloc()
    [SCSI] Fix range check in scsi_host_dif_capable()
    [SCSI] storvsc: Initialize the sglist
    [SCSI] mpt2sas: Add support for OEM specific controller
    [SCSI] ipr: Fix oops while resetting an ipr adapter
    [SCSI] fnic: Fnic Trace Utility
    [SCSI] fnic: New debug flags and debug log messages
    [SCSI] fnic: fnic driver may hit BUG_ON on device reset
    ...

    Linus Torvalds
     

01 Mar, 2013

2 commits


24 Feb, 2013

1 commit


26 Jan, 2013

2 commits

  • Commit 166a2967b45ede2e2e56f3ede3cd32053dc17812 "libata: tell scsi layer
    device supports runtime power off" introduced the can_power_off flag for
    scsi_device and is used to support ZPODD implementation in SCSI layer.
    Since ZPODD is now implemented in ATA layer, that flag is no longer
    needed, so remove it.

    Signed-off-by: Aaron Lu
    Signed-off-by: Jeff Garzik

    Aaron Lu
     
  • When the ODD is powered off, any action the user did to the ODD that
    would generate a media event will trigger an ACPI interrupt, so the
    poll for media event is no longer necessary. And the poll will also
    cause a runtime status change, which will stop the ODD from staying in
    powered off state, so the poll should better be stopped.

    But since we don't have access to the gendisk structure in LLDs, here
    comes the disk_events_disable_depth for scsi device. This field is a
    hint set by LLDs to convey information to upper layer drivers. A value
    of 0 means media poll is necessary for the device, while values above 0
    means media poll is not needed and should better be skipped. So we can
    increase its value when we are to power off the ODD in ATA layer and
    decrease its value when the ODD is powered on, effectively silence the
    media events poll.

    Signed-off-by: Aaron Lu
    Signed-off-by: Jeff Garzik

    Aaron Lu
     

08 Jan, 2013

1 commit


20 Dec, 2012

1 commit


15 Dec, 2012

5 commits

  • Similarly they can be moved into libfcoe instead of being private to fcoe now.
    Also add comments particularly on the term LESB to the corresponding function.

    Signed-off-by: Yi Zou
    Cc: Bhanu Prakash Gollapudi
    Tested-by: Marcus Dennis
    Signed-off-by: Robert Love

    Yi Zou
     
  • With the previous patch, fcoe_link_speed_update() can be moved into libfcoe and
    exported to used by fcoe, bnx2fc, and etc.

    Signed-off-by: Yi Zou
    Cc: Bhanu Prakash Gollapudi
    Tested-by: Marcus Dennis
    Signed-off-by: Robert Love

    Yi Zou
     
  • Adds support to fcoe_port's newly added get_netdev fucntion pointer.

    Signed-off-by: Yi Zou
    Cc: Bhanu Prakash Gollapudi
    Tested-by: Marcus Dennis
    Signed-off-by: Robert Love

    Yi Zou
     
  • Currently, in the default kernel fcoe driver, it is needed to get to the underlying
    private per fcoe transport's private structure, e.g., fcoe_interface in
    fcoe.ko, and returns the associated netdev. The similar logic exists in other
    fcoe drivers, e.g., bnx2fc, so we add a function pointer into the common
    fcoe_port struct to allow individual fcoe transport implementaion (fcoe
    and bnx2fc) to get the corresponding netdev associated with a give lport.

    Then a inline fcoe_get_netdev() is added as part of libfcoe for all underlying
    fcoe transport drivers to use regardless of its individual fcoe transport
    driver, and also allows move more common code such as fcoe_link_speed_update or
    fcoe_ctlr_get_lesb to be in libfcoe, rather than specific to fcoe.

    This patch is a prep work that adds aforementioned fucntion pointer, and
    followed by the actual code changes to make use of it.

    Signed-off-by: Yi Zou
    Cc: Bhanu Prakash Gollapudi
    Tested-by: Marcus Dennis
    Signed-off-by: Robert Love

    Yi Zou
     
  • This patch does a few things.

    1) Makes /sys/bus/fcoe/ctlr_{create,destroy} interfaces.
    These interfaces take an and will either
    create an FCoE Controller or destroy an FCoE
    Controller depending on which file is written to.

    The new FCoE Controller will start in a DISABLED
    state and will not do discovery or login until it
    is ENABLED. This pause will allow us to configure
    the FCoE Controller before enabling it.

    2) Makes the 'mode' attribute of a fcoe_ctlr_device
    writale. This allows the user to configure the mode
    in which the FCoE Controller will start in when it
    is ENABLED.

    Possible modes are 'Fabric', or 'VN2VN'.

    The default mode for a fcoe_ctlr{,_device} is 'Fabric'.
    Drivers must implement the set_fcoe_ctlr_mode routine
    to support this feature.

    libfcoe offers an exported routine to set a FCoE
    Controller's mode. The mode can only be changed
    when the FCoE Controller is DISABLED.

    This patch also removes the get_fcoe_ctlr_mode pointer
    in the fcoe_sysfs function template, the code in
    fcoe_ctlr.c to get the mode and the assignment of
    the fcoe_sysfs function pointer to the fcoe_ctlr.c
    implementation (in fcoe and bnx2fc). fcoe_sysfs can
    return that value for the mode without consulting the
    LLD.

    3) Make a 'enabled' attribute of a fcoe_ctlr_device. On a
    read, fcoe_sysfs will return the attribute's value. On
    a write, fcoe_sysfs will call the LLD (if there is a
    callback) to notifiy that the enalbed state has changed.

    This patch maintains the old FCoE control interfaces as
    module parameters, but it adds comments pointing out that
    the old interfaces are deprecated.

    Signed-off-by: Robert Love
    Acked-by: Neil Horman

    Robert Love
     

14 Dec, 2012

2 commits

  • Pull first round of SCSI updates from James Bottomley:
    "This patch set includes two large new drivers: mpt3sas (for the next
    gen fusion SAS hardware) and csiostor a FCoE offload driver for the
    Chelsio converged network cards (this includes some net changes which
    I've OK'd with DaveM).

    The rest of the patch is driver updates (qla2xxx, lpfc, hptiop,
    be2iscsi) plus a few assorted updates and bug fixes.

    We also have a Power Management rework in the Upper Layer Drivers
    preparatory to doing ACPI zero power optical devices, but the actual
    enabler is still being worked on.

    Signed-off-by: James Bottomley "

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (72 commits)
    [SCSI] mpt3sas: add new driver supporting 12GB SAS
    [SCSI] scsi_transport_sas: add 12GB definitions for mpt3sas
    [SCSI] miscdevice: Adding support for MPT3SAS_MINOR(222)
    [SCSI] csiostor: remove unneeded memset()
    [SCSI] csiostor: Fix sparse warnings.
    [SCSI] qla2xxx: Display that driver is operating in legacy interrupt mode.
    [SCSI] qla2xxx: Dont clear drv active on iospace config failure.
    [SCSI] qla2xxx: Fix typo in qla2xxx driver.
    [SCSI] qla2xxx: Update ql2xextended_error_logging parameter description with new option.
    [SCSI] qla2xxx: Parameterize the link speed of hba rather than fcport.
    [SCSI] qla2xxx: Add 16Gb/s case to get port speed capability.
    [SCSI] qla2xxx: Move marking fcport online ahead of setting iiDMA speed.
    [SCSI] qla2xxx: Add acquiring of risc semaphore before doing ISP reset.
    [SCSI] qla2xxx: Ignore driver ack bit if corresponding presence bit is not set.
    [SCSI] qla2xxx: Fix typo in qla83xx_fw_dump function.
    [SCSI] qla2xxx: Add Gen3 PCIe speed 8GT/s to the log message.
    [SCSI] qla2xxx: Use correct Request-Q-Out register during bidirectional request processing
    [SCSI] qla2xxx: Move noisy Start scsi failed messages to verbose logging level.
    [SCSI] qla2xxx: Fix coccinelle warnings in qla2x00_relogin.
    [SCSI] qla2xxx: No fcport FC-4 type assignment in GA_NXT response.
    ...

    Linus Torvalds
     
  • Pull infiniband upate from Roland Dreier:
    "First batch of InfiniBand/RDMA changes for the 3.8 merge window:
    - A good chunk of Bart Van Assche's SRP fixes
    - UAPI disintegration from David Howells
    - mlx4 support for "64-byte CQE" hardware feature from Or Gerlitz
    - Other miscellaneous fixes"

    Fix up trivial conflict in mellanox/mlx4 driver.

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (33 commits)
    RDMA/nes: Fix for crash when registering zero length MR for CQ
    RDMA/nes: Fix for terminate timer crash
    RDMA/nes: Fix for BUG_ON due to adding already-pending timer
    IB/srp: Allow SRP disconnect through sysfs
    srp_transport: Document sysfs attributes
    srp_transport: Simplify attribute initialization code
    srp_transport: Fix attribute registration
    IB/srp: Document sysfs attributes
    IB/srp: send disconnect request without waiting for CM timewait exit
    IB/srp: destroy and recreate QP and CQs when reconnecting
    IB/srp: Eliminate state SRP_TARGET_DEAD
    IB/srp: Introduce the helper function srp_remove_target()
    IB/srp: Suppress superfluous error messages
    IB/srp: Process all error completions
    IB/srp: Introduce srp_handle_qp_err()
    IB/srp: Simplify SCSI error handling
    IB/srp: Keep processing commands during host removal
    IB/srp: Eliminate state SRP_TARGET_CONNECTING
    IB/srp: Increase block layer timeout
    RDMA/cm: Change return value from find_gid_port()
    ...

    Linus Torvalds
     

01 Dec, 2012

2 commits


27 Nov, 2012

1 commit

  • Force large capacity (> 0xFFFFFFFF blocks) drives to use READ/WRITE(16) instead
    of READ/WRITE(10). Some(most/all?) USB enclosures do not like READ(10) commands
    when a large capacity drive is installed. This issue was reported and discussed
    here: http://marc.info/?l=linux-usb&m=135247705222324

    Signed-off-by: Jason J. Herne
    Signed-off-by: James Bottomley

    Jason J. Herne
     

14 Nov, 2012

2 commits

  • Implement support for WRITE SAME(10) and WRITE SAME(16) in the SCSI disk
    driver.

    - We set the default maximum to 0xFFFF because there are several
    devices out there that only support two-byte block counts even with
    WRITE SAME(16). We only enable transfers bigger than 0xFFFF if the
    device explicitly reports MAXIMUM WRITE SAME LENGTH in the BLOCK
    LIMITS VPD.

    - max_write_same_blocks can be overriden per-device basis in sysfs.

    - The UNMAP discovery heuristics remain unchanged but the discard
    limits are tweaked to match the "real" WRITE SAME commands.

    - In the error handling logic we now distinguish between WRITE SAME
    with and without UNMAP set.

    The discovery process heuristics are:

    - If the device reports a SCSI level of SPC-3 or greater we'll issue
    READ SUPPORTED OPERATION CODES to find out whether WRITE SAME(16) is
    supported. If that's the case we will use it.

    - If the device supports the block limits VPD and reports a MAXIMUM
    WRITE SAME LENGTH bigger than 0xFFFF we will use WRITE SAME(16).

    - Otherwise we will use WRITE SAME(10) unless the target LBA is beyond
    0xFFFFFFFF or the block count exceeds 0xFFFF.

    - no_write_same is set for ATA, FireWire and USB.

    Signed-off-by: Martin K. Petersen
    Reviewed-by: Mike Snitzer
    Reviewed-by: Jeff Garzik
    Signed-off-by: James Bottomley

    Martin K. Petersen
     
  • The REPORT SUPPORTED OPERATION CODES command can be used to query
    whether a given opcode is supported by a device. Add a helper function
    that allows us to look up commands.

    We only issue RSOC if the device reports compliance with SPC-3 or
    later. But to err on the side of caution we disable the command for ATA,
    FireWire and USB.

    Signed-off-by: Martin K. Petersen
    Acked-by: Mike Snitzer
    Signed-off-by: James Bottomley

    Martin K. Petersen
     

13 Oct, 2012

1 commit

  • Pull misc SCSI updates from James Bottomley:
    "This is an assorted set of stragglers into the merge window with
    driver updates for megaraid_sas, lpfc, bfi and mvumi. It also
    includes some fairly major fixes for virtio-scsi (scatterlist init),
    scsi_debug (off by one error), storvsc (use after free) and qla2xxx
    (potential deadlock).

    Signed-off-by: James Bottomley "

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (49 commits)
    [SCSI] storvsc: Account for in-transit packets in the RESET path
    [SCSI] qla2xxx: fix potential deadlock on ha->hardware_lock
    [SCSI] scsi_debug: Fix off-by-one bug when unmapping region
    [SCSI] Shorten the path length of scsi_cmd_to_driver()
    [SCSI] virtio-scsi: support online resizing of disks
    [SCSI] virtio-scsi: fix LUNs greater than 255
    [SCSI] virtio-scsi: initialize scatterlist structure
    [SCSI] megaraid_sas: Version, Changelog, Copyright update
    [SCSI] megaraid_sas: Remove duplicate code
    [SCSI] megaraid_sas: Add SystemPD FastPath support
    [SCSI] megaraid_sas: Add array boundary check for SystemPD
    [SCSI] megaraid_sas: Load io_request DataLength in bytes
    [SCSI] megaraid_sas: Add module param for configurable MSI-X vector count
    [SCSI] megaraid_sas: Remove un-needed completion_lock spinlock calls
    [SCSI] lpfc 8.3.35: Update lpfc version for 8.3.35 driver release
    [SCSI] lpfc 8.3.35: Fixed not reporting logical link speed to SCSI midlayer when QoS not on
    [SCSI] lpfc 8.3.35: Fix error with fabric service parameters causing performance issues
    [SCSI] lpfc 8.3.35: Fixed SCSI host create showing wrong link speed on SLI3 HBA ports
    [SCSI] lpfc 8.3.35: Fixed not checking solicition in progress bit when verifying FCF record for use
    [SCSI] lpfc 8.3.35: Fixed messages for misconfigured port errors
    ...

    Linus Torvalds
     

09 Oct, 2012

1 commit

  • This patch tries to shorten the path length of scsi_cmd_to_driver(). As only
    REQ_TYPE_BLOCK_PC commands can be submitted without a driver, so we could
    avoid the related NULL checking, as long as we make sure we don't use it for
    REQ_TYPE_BLOCK_PC type commands. Plus, this fixes a bug where you get
    different behaviors from REQ_TYPE_BLOCK_PC commands when a driver is and isn't
    attached.

    Signed-off-by: Li Zhong
    Reviewed-by: Martin K. Petersen
    Signed-off-by: James Bottomley

    Li Zhong
     

07 Oct, 2012

2 commits

  • In LUN RESET testing involving NetApp targets, it is observed that LUN
    RESET is failing. The fc_fcp_resp() is not completing the completion
    for the LUN RESET task since fc_fcp_resp assumes that the FCP_RSP_INFO
    is 8 bytes with the 4 byte reserved field, where in case of NetApp targets
    the FCP_RSP to LUN RESET only has 4 bytes of FCP_RSP_INFO. This leads
    fc_fcp_resp to error out w/o completing the task completion, eventually
    causing LUN RESET to be escalated to host reset, which is not very nice.

    Per FCP-3 r04, clause 9.5.15 and Table 23, the FCP_RSP_INFO field can be either
    4 bytes or 8 bytes, with the last 4 bytes as "Reserved (if any)". Therefore it
    is valid to have 4 bytes FCP_RSP_INFO like some of the NetApp targets behave.
    Fixing this by validating the FCP_RSP_INFO against both the two spec allowed
    length.

    Reported-by: Frank Zhang
    Signed-off-by: Yi Zou
    Tested-by: Ross Brattain
    Signed-off-by: Robert Love
    Signed-off-by: James Bottomley

    Yi Zou
     
  • SCSI errors were generated while writing to LUNs
    connected via NPIV ports.

    Debugging this it was found that the FCoE packets
    transmitted via the NPIV ports were not tagged with
    correct user priority as negotiated with peer by DCB
    agent. This resulted in FCoE traffic going with priority
    zero(0) that did not have priority flow control (PFC)
    enabled for it. The initiator after transferring data
    to the target never saw any reply indicating the transfer
    was complete. This resulted in error recovery (ABTS) and
    SCSI command retries by the scsi-mid layer; eventually
    resulting in I/O errors.

    This patch fixes this issue by keeping the FCoE user
    priority information in the fcoe_interface instance
    that is common for both the physical port as well as
    NPIV ports connected to that physical port; instead
    of storing it in fcoe_port structure that has a per
    port instance.

    Signed-off-by: Neerav Parikh
    Acked-by: Yi Zou
    Acked-by: John Fastabend
    Tested-by: Marcus Dennis
    Signed-off-by: Robert Love
    Signed-off-by: James Bottomley

    Neerav Parikh
     

04 Oct, 2012

1 commit

  • Pull preparatory patches for user API disintegration from David Howells:
    "The patches herein prepare for the extraction of the Userspace API
    bits from the various header files named in the Kbuild files.

    New subdirectories are created under either include/uapi/ or
    arch/x/include/uapi/ that correspond to the subdirectory containing
    that file under include/ or arch/x/include/.

    The new subdirs under the uapi/ directory are populated with Kbuild
    files that mostly do nothing at this time. Further patches will
    disintegrate the headers in each original directory and fill in the
    Kbuild files as they do it.

    These patches also:

    (1) fix up #inclusions of "foo.h" rather than .

    (2) Remove some redundant #includes from the DRM code.

    (3) Make the kernel build infrastructure handle Kbuild files both in
    the old places and the new UAPI place that both specify headers
    to be exported.

    (4) Fix some kernel tools that #include kernel headers during their
    build.

    I have compile tested this with allyesconfig against x86_64,
    allmodconfig against i386 and a scattering of additional defconfigs of
    other arches. Prepared for main script

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones
    Acked-by: H. Peter Anvin "

    * tag 'uapi-prep-20121002' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Plumb the UAPI Kbuilds into the user header installation and checking
    UAPI: x86: Differentiate the generated UAPI and internal headers
    UAPI: Remove the objhdr-y export list
    UAPI: Move linux/version.h
    UAPI: Set up uapi/asm/Kbuild.asm
    UAPI: x86: Fix insn_sanity build failure after UAPI split
    UAPI: x86: Fix the test_get_len tool
    UAPI: (Scripted) Set up UAPI Kbuild files
    UAPI: Partition the header include path sets and add uapi/ header directories
    UAPI: (Scripted) Convert #include "..." to #include in kernel system headers
    UAPI: (Scripted) Convert #include "..." to #include in drivers/gpu/
    UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/.
    UAPI: Refer to the DRM UAPI headers with and from certain headers only

    Linus Torvalds
     

03 Oct, 2012

2 commits

  • Pull first round of SCSI updates from James Bottomley:
    "This is a large set of updates, mostly for drivers (qla2xxx [including
    support for new 83xx based card], qla4xxx, mpt2sas, bfa, zfcp, hpsa,
    be2iscsi, isci, lpfc, ipr, ibmvfc, ibmvscsi, megaraid_sas).

    There's also a rework for tape adding virtually unlimited numbers of
    tape drives plus a set of dif fixes for sd and a fix for a live lock
    on hot remove of SCSI devices.

    This round includes a signed tag pull of isci-for-3.6

    Signed-off-by: James Bottomley "

    Fix up trivial conflict in drivers/scsi/qla2xxx/qla_nx.c due to new PCI
    helper function use in a function that was removed by this pull.

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (198 commits)
    [SCSI] st: remove st_mutex
    [SCSI] sd: Ensure we correctly disable devices with unknown protection type
    [SCSI] hpsa: gen8plus Smart Array IDs
    [SCSI] qla4xxx: Update driver version to 5.03.00-k1
    [SCSI] qla4xxx: Disable generating pause frames for ISP83XX
    [SCSI] qla4xxx: Fix double clearing of risc_intr for ISP83XX
    [SCSI] qla4xxx: IDC implementation for Loopback
    [SCSI] qla4xxx: update copyrights in LICENSE.qla4xxx
    [SCSI] qla4xxx: Fix panic while rmmod
    [SCSI] qla4xxx: Fail probe_adapter if IRQ allocation fails
    [SCSI] qla4xxx: Prevent MSI/MSI-X falling back to INTx for ISP82XX
    [SCSI] qla4xxx: Update idc reg in case of PCI AER
    [SCSI] qla4xxx: Fix double IDC locking in qla4_8xxx_error_recovery
    [SCSI] qla4xxx: Clear interrupt while unloading driver for ISP83XX
    [SCSI] qla4xxx: Print correct IDC version
    [SCSI] qla4xxx: Added new mbox cmd to pass driver version to FW
    [SCSI] scsi_dh_alua: Enable STPG for unavailable ports
    [SCSI] scsi_remove_target: fix softlockup regression on hot remove
    [SCSI] ibmvscsi: Fix host config length field overflow
    [SCSI] ibmvscsi: Remove backend abstraction
    ...

    Linus Torvalds
     
  • Convert #include "..." to #include in kernel system headers.

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells
     

24 Sep, 2012

3 commits


14 Sep, 2012

1 commit

  • The scsi netlink code confuses the netlink port id with a process id,
    going so far as to read NETLINK_CREDS(skb)->pid instead of the correct
    NETLINK_CB(skb).pid. Fortunately it does not matter because nothing
    registers to respond to scsi netlink requests.

    The only interesting use of the scsi_netlink interface is
    fc_host_post_vendor_event which sends a netlink multicast message.

    Since nothing registers to handle scsi netlink messages kill all of the
    registration logic, while retaining the same error handling behavior
    preserving the userspace visible behavior and removing all of the
    confused code that thought a netlink port id was a process id.

    This was tested with a kernel allyesconfig build which had no problems.

    Cc: James Bottomley
    Cc: James Smart
    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Eric W. Biederman
     

24 Aug, 2012

1 commit

  • libsas power management routines to suspend and recover the sas domain
    based on a model where the lldd is allowed and expected to be
    "forgetful".

    sas_suspend_ha - disable event processing allowing the lldd to take down
    links without concern for causing hotplug events.
    Regardless of whether the lldd actually posts link down
    messages libsas notifies the lldd that all
    domain_devices are gone.

    sas_prep_resume_ha - on the way back up before the lldd starts link
    training clean out any spurious events that were
    generated on the way down, and re-enable event
    processing

    sas_resume_ha - after the lldd has started and decided that all phys
    have posted link-up events this routine is called to let
    libsas start it's own timeout of any phys that did not
    resume. After the timeout an lldd can cancel the
    phy teardown by posting a link-up event.

    Storage for ex_change_count (u16) and phy_change_count (u8) are changed
    to int so they can be set to -1 to indicate 'invalidated'.

    Signed-off-by: Dan Williams
    Reviewed-by: Jacek Danecki
    Tested-by: Maciej Patelczyk
    Acked-by: Alan Stern
    Signed-off-by: James Bottomley

    Dan Williams
     

26 Jul, 2012

1 commit


20 Jul, 2012

5 commits

  • Now that scsi registers its async scan work with the async subsystem,
    wait_for_device_probe() is sufficient for ensuring all scanning is
    complete.

    [jejb: fix merge problems with eea03c20ae38 Make wait_for_device_probe() also do scsi_complete_async_scans()]
    Signed-off-by: Dan Williams
    Tested-by: Eldad Zack
    Signed-off-by: James Bottomley

    Dan Williams
     
  • Make use of USB quirk method to identify such HDD while reading
    the cache status in sd_probe(). If cache quirk is present for
    the HDD, lets assume that cache is enabled and make WCE bit
    equal to 1.

    Signed-off-by: Namjae Jeon
    Signed-off-by: Pankaj Kumar
    Signed-off-by: Amit Sahrawat
    Signed-off-by: James Bottomley

    Namjae Jeon
     
  • The timer and the completion are only used for slow path tasks (smp, and
    lldd tmfs), yet we incur the allocation space and cpu setup time for
    every fast path task.

    Cc: Xiangliang Yu
    Acked-by: Jack Wang
    Signed-off-by: Dan Williams
    Signed-off-by: James Bottomley

    Dan Williams
     
  • On the way to add a new sata_device field, noticed that libsas is
    carrying port multiplier infrastructure that is explicitly disabled by
    sas_discover_sata(). The aic94xx touches the unused port_no, so leave
    that field in case there was some use for it.

    Signed-off-by: Dan Williams
    Signed-off-by: James Bottomley

    Dan Williams
     
  • When recovering failed eh-cmnds let the lldd attempt an abort via
    scsi_abort_eh_cmnd before escalating.

    Reviewed-by: Jacek Danecki
    Signed-off-by: Dan Williams
    Signed-off-by: James Bottomley

    Dan Williams