Skip to content
Permalink
Guixin-Liu/scs…
Switch branches/tags

Commits on Feb 14, 2022

  1. scsi: target: tcmu: Make cmd_ring_size changeable via configfs.

    Make cmd_ring_size changeable similar to the way it is done for
    max_data_area_mb, the reason is that our tcmu client will create
    thousands of tcmu instances, and this will consume lots of mem with
    default 8Mb cmd ring size for every backstore.
    
    One can change the value by typing:
        echo "cmd_ring_size_mb=N" > control
    The "N" is a integer between 1 to 8, if set 1, the cmd ring can hold
    about 6k cmds(tcmu_cmd_entry about 176 byte) at least.
    
    The value is printed when doing:
        cat info
    In addition, a new readonly attribute 'cmd_ring_size_mb' returns the
    value in read.
    
    Reviewed-by: Xiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
    Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
    guixinliu1995 authored and intel-lab-lkp committed Feb 14, 2022

Commits on Feb 11, 2022

  1. scsi: mpi3mr: Bump driver version to 8.0.0.68.0

    Bump mpi3mr driver version to 8.0.0.68.0.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-10-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  2. scsi: mpi3mr: Fix memory leaks

    Fix memory leaks related to operational reply queue's memory segments which
    are not getting freed while unloading the driver.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-9-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  3. scsi: mpi3mr: Update the copyright year

    Update the copyright year to 2017-2022.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-8-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  4. scsi: mpi3mr: Fix reporting of actual data transfer size

    The driver is missing to set the residual size while completing an
    I/O. Ensure proper data transfer size is reported to the kernel on I/O
    completion based on the transfer length reported by the firmware.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-7-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  5. scsi: mpi3mr: Fix cmnd getting marked as in use forever

    When a driver command which requires the driver to issue a follow up
    command using the same command frame is outstanding and a soft reset
    operation occurs, then that driver command frame is getting marked as in
    use permanently and won't be reused again.
    
    Clear the driver command frames while flushing out the outstanding commands
    and avoid issuing any new requests using these command frames while soft
    reset is going on.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-6-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  6. scsi: mpi3mr: Fix hibernation issue

    Hibernation operation fails when it is issued for second time. This is
    because the driver is trying to release the IOC's PCI resources after
    setting power state to D3.
    
    Set the IOC's power state to D3 only after releasing the IOC's PCI
    resources.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-5-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  7. scsi: mpi3mr: Update MPI3 headers

    Update MPI3 headers.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-4-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  8. scsi: mpi3mr: Fix printing of pending I/O count

    Print proper pending I/O count after issuing target reset TM operation.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-3-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  9. scsi: mpi3mr: Fix deadlock while canceling the fw event

    During controller reset, the driver tries to flush all the pending firmware
    event works from worker queue that are queued prior to the reset. However,
    if any work is waiting for device addition/removal operation to be
    completed at the SML, then a deadlock is observed. This is due to the
    controller reset waiting for the device addition/removal to be completed
    and the device/addition removal is waiting for the controller reset to be
    completed.
    
    To limit this deadlock, continue with the controller reset handling without
    canceling the work which is waiting for device addition/removal operation
    to complete at SML.
    
    Link: https://lore.kernel.org/r/20220210095817.22828-2-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Feb 11, 2022
  10. scsi: Remove unused member cmd_pool for structure scsi_host_template

    After commit e9c787e ("scsi: allocate scsi_cmnd structures as part of
    struct request"), the member cmd_pool in structure scsi_host_template is
    not used, so remove it.
    
    Link: https://lore.kernel.org/r/1644561778-183074-5-git-send-email-chenxiang66@hisilicon.com
    Reviewed-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Xiang Chen authored and martinkpetersen committed Feb 11, 2022
  11. scsi: libsas: Remove unused parameter for function sas_ata_eh()

    Input parameter work_q is not unused in function sas_ata_eh(), so remove
    it.
    
    Link: https://lore.kernel.org/r/1644561778-183074-4-git-send-email-chenxiang66@hisilicon.com
    Reviewed-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Xiang Chen authored and martinkpetersen committed Feb 11, 2022
  12. scsi: libsas: Remove duplicated setting for task->task_state_flags

    Task->task_state_flags is already set in function sas_alloc_task(), so
    remove duplicated setting.
    
    Link: https://lore.kernel.org/r/1644561778-183074-3-git-send-email-chenxiang66@hisilicon.com
    Reviewed-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Xiang Chen authored and martinkpetersen committed Feb 11, 2022
  13. scsi: libsas: Use void for sas_discover_event() return code

    The callers of function sas_discover_event() do not check its return value.
    The function also only ever returns 0, so use void instead.
    
    Link: https://lore.kernel.org/r/1644561778-183074-2-git-send-email-chenxiang66@hisilicon.com
    Reviewed-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Xiang Chen authored and martinkpetersen committed Feb 11, 2022
  14. scsi: message: fusion: Use GFP_KERNEL

    Pci_driver probe functions aren't called with locks held and thus don't
    need GFP_ATOMIC. Use GFP_KERNEL instead.
    
    Problem found with Coccinelle.
    
    Link: https://lore.kernel.org/r/20220210204223.104181-9-Julia.Lawall@inria.fr
    Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    JuliaLawall authored and martinkpetersen committed Feb 11, 2022
  15. scsi: smartpqi: Fix unused variable pqi_pm_ops for clang

    Driver added a new dev_pm_ops structure used only if CONFIG_PM is set.  The
    CONFIG_PM MACRO needed to be moved up in the code to avoid the compiler
    warnings. The hunk to move the location was missing from the above patch.
    
    Found by kernel test robot by building driver with CONFIG_PM disabled.
    
    Link: https://lore.kernel.org/all/202202090657.bstNLuce-lkp@intel.com/
    Link: https://lore.kernel.org/r/20220210201151.236170-1-don.brace@microchip.com
    Fixes: c66e078 ("scsi: smartpqi: Fix hibernate and suspend")
    Reported-by: kernel test robot <lkp@intel.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike Mcgowen <mike.mcgowen@microchip.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Don Brace authored and martinkpetersen committed Feb 11, 2022
  16. scsi: libsas: Drop SAS_TASK_AT_INITIATOR

    This flag is now only ever set, so delete it.
    
    This also avoids a use-after-free in the pm8001 queue path, as reported in
    the following:
    
    https://lore.kernel.org/linux-scsi/c3cb7228-254e-9584-182b-007ac5e6fe0a@huawei.com/T/#m28c94c6d3ff582ec4a9fa54819180740e8bd4cfb
    
    https://lore.kernel.org/linux-scsi/0cc0c435-b4f2-9c76-258d-865ba50a29dd@huawei.com/
    
    [mkp: checkpatch + two SAS_TASK_AT_INITIATOR references]
    
    Link: https://lore.kernel.org/r/1644489804-85730-3-git-send-email-john.garry@huawei.com
    Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
    Signed-off-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    johnpgarry authored and martinkpetersen committed Feb 11, 2022
  17. scsi: isci: Drop SAS_TASK_AT_INITIATOR check in isci_task_abort_task()

    In the queue path, move around when we assign sas_task->lldd_task such that
    this pointer and the SAS_TASK_AT_INITIATOR flag are set atomically.  It is
    also not required to clear SAS_TASK_AT_INITIATOR in isci_task_execute_task()
    error path as it is also cleared immediately after in isci_task_refuse()
    call.
    
    Now the following items may be considered:
    
     - SAS_TASK_STATE_DONE and SAS_TASK_AT_INITIATOR are mutually exclusive
       apart from possibly when SAS_TASK_STATE_DONE is set in
       sas_scsi_find_task(), but that is after .lldd_abort_task, i.e. the
       considered callback, is called.
    
     - If isci_task_refuse() is called in the queue path, then
       sas_task->lldd_task and SAS_TASK_AT_INITIATOR are cleared atomically in
       isci_task_refuse().
    
     - In the completion path, SAS_TASK_STATE_DONE is set and
       SAS_TASK_AT_INITIATOR is cleared atomically before the
       sas_task.lldd_task is cleared later.
    
    So in isci_task_abort_task() if SAS_TASK_STATE_DONE is not set and
    sas_task.lldd_task is still set, then SAS_TASK_AT_INITIATOR must be set -
    so we can drop this check on SAS_TASK_AT_INITIATOR.
    
    [mkp: checkpatch]
    
    Link: https://lore.kernel.org/r/1644489804-85730-2-git-send-email-john.garry@huawei.com
    Signed-off-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    johnpgarry authored and martinkpetersen committed Feb 11, 2022
  18. scsi: qla2xxx: Remove unused qla_sess_op_cmd_list from scsi_qla_host_t

    The qla_sess_op_cmd_list was introduced in commit 8b2f5ff ("qla2xxx:
    cleanup cmd in qla workqueue before processing TMR"). Then the usage of
    this list was dropped in commit fb35265 ("scsi: qla2xxx: Remove
    session creation redundant code").
    
    Thus, remove this list since it is no longer used.
    
    Link: https://lore.kernel.org/r/AS8PR10MB49524AAB4C8016E4AFF17FFB9D2D9@AS8PR10MB4952.EURPRD10.PROD.OUTLOOK.COM
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Signed-off-by: Gleb Chesnokov <Chesnokov.G@raidix.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    lnocturno authored and martinkpetersen committed Feb 11, 2022
  19. scsi: pm8001: Clean up inconsistent indenting

    Eliminate the following smatch warning:
    
    drivers/scsi/pm8001/pm8001_ctl.c:760 pm8001_update_flash() warn:
    inconsistent indenting
    
    Link: https://lore.kernel.org/r/20220208025500.29511-1-yang.lee@linux.alibaba.com
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Acked-by: Jack Wang <jinpu.wang@ionos.com>
    Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Yang Li authored and martinkpetersen committed Feb 11, 2022
  20. scsi: ibmvscsis: Silence -Warray-bounds warning

    Instead of doing a cast to storage that is too small, add a union for the
    high 64 bits. Silences the warnings under -Warray-bounds:
    
    drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c: In function 'ibmvscsis_send_messages':
    drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:1934:44: error: array subscript 'struct viosrp_crq[0]' is partly outside array bounds of 'u64[1]' {aka 'long long unsigned int[1]'} [-Werror=array-bounds]
     1934 |                                         crq->valid = VALID_CMD_RESP_EL;
          |                                            ^~
    drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:1875:13: note: while referencing 'msg_hi'
     1875 |         u64 msg_hi = 0;
          |             ^~~~~~
    
    There is no change to the resulting binary instructions.
    
    Link: https://lore.kernel.org/lkml/20220125142430.75c3160e@canb.auug.org.au
    Link: https://lore.kernel.org/r/20220208061231.3429486-1-keescook@chromium.org
    Cc: Michael Cyr <mikecyr@linux.ibm.com>
    Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
    Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
    Cc: Tyrel Datwyler <tyreld@linux.ibm.com>
    Cc: linux-scsi@vger.kernel.org
    Cc: target-devel@vger.kernel.org
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Reviewed-by: Tyrel Datwyler <tyreld@linux.ibm.com>
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    kees authored and martinkpetersen committed Feb 11, 2022
  21. scsi: qla2xxx: Add qla2x00_async_done() for async routines

    This done routine will delete the timer and check for its return value and
    decrease the reference count accordingly. This prevents boot hangs reported
    after commit 31e6cdb ("scsi: qla2xxx: Implement ref count for SRB")
    was merged.
    
    Link: https://lore.kernel.org/r/20220208093946.4471-1-njavali@marvell.com
    Fixes: 31e6cdb ("scsi: qla2xxx: Implement ref count for SRB")
    Reported-by: Ewan Milne <emilne@redhat.com>
    Tested-by: Ewan D. Milne <emilne@redhat.com>
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Saurav Kashyap authored and martinkpetersen committed Feb 11, 2022

Commits on Feb 8, 2022

  1. scsi: smartpqi: Update version to 2.1.14-035

    Link: https://lore.kernel.org/r/164375215867.440833.17567317655622946368.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Gerry Morong <gerry.morong@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Don Brace authored and martinkpetersen committed Feb 8, 2022
  2. scsi: smartpqi: Fix lsscsi -t SAS addresses

    Correct lsscsi -t output for newer controllers that support 16-byte WWID in
    the SAS address field. lsscsi -t was displaying all zeros for SAS
    addresses.
    
    When we added support to smartpqi for 16-byte WWIDs in the RPL data for
    newer controllers, we were copying the wrong part of the 16-byte WWID to
    the SAS address field.
    
    Link: https://lore.kernel.org/r/164375215363.440833.7298523719813806902.stgit@brunhilda.pdev.net
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Feb 8, 2022
  3. scsi: smartpqi: Fix hibernate and suspend

    Restructure the hibernate/suspend code to allow workarounds for the
    controller boot differences.
    
    Newer controllers have subtle differences in the way that they boot up.
    
    Link: https://lore.kernel.org/r/164375214859.440833.14683009064111314948.stgit@brunhilda.pdev.net
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Feb 8, 2022
  4. scsi: smartpqi: Fix BUILD_BUG_ON() statements

    Add calls to the functions at the beginning driver initialization.
    
    The BUILD_BUG_ON() statements that are currently in functions named
    verify_structures() in the modules smartpqi_init.c and smartpqi_sis.c do
    not work as currently implemented.
    
    Link: https://lore.kernel.org/r/164375214355.440833.13129778749209816497.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Signed-off-by: Mike McGowen <Mike.McGowen@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Mike McGowen authored and martinkpetersen committed Feb 8, 2022
  5. scsi: smartpqi: Fix NUMA node not updated during init

    Correct NUMA node association when calling pqi_pci_probe().
    
    In the function pqi_pci_probe(), the driver makes an OS call to get the
    NUMA node associated with a controller. If the call returns that there is
    no associated node, the driver attempts to set it to node 0. The problem is
    that a different local variable (cp_node) was being used to do this, but
    the original local variable (node) was still being used in the call to
    pqi_alloc_ctrl_info().
    
    The value of "node" is not updated if the conditional after the call to
    dev_to_node() evaluates to TRUE.
    
    Link: https://lore.kernel.org/r/164375213850.440833.5243014942807747074.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Mike McGowen <Mike.McGowen@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Mike McGowen authored and martinkpetersen committed Feb 8, 2022
  6. scsi: smartpqi: Expose SAS address for SATA drives

    Remove UNIQUE_WWID_IN_REPORT_PHYS_LUN PQI feature.
    
    This feature was originally added to solve a problem with NVMe drives, but
    this problem has since been solved a different way, so this PQI feature is
    no longer required for any type of drive.
    
    The kernel was not creating symbolic links in sysfs between SATA drives and
    their enclosure.
    
    The driver was enabling the UNIQUE_WWID_IN_REPORT_PHYS_LUN PQI feature,
    which causes the FW to return a WWID for SATA drives that is derived from a
    unique ID read from the SATA drive itself. The driver was exposing this
    WWID as the drive's SAS address. However, because this SAS address does not
    match the SAS address returned by an enclosure's SES Page 0xA data, the
    Linux kernel was not able to match a SATA drive with its enclosure.
    
    Link: https://lore.kernel.org/r/164375213346.440833.12379222470149882747.stgit@brunhilda.pdev.net
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Feb 8, 2022
  7. scsi: smartpqi: Speed up RAID 10 sequential reads

    Use all data disks for sequential read operations.
    
    Testing discovered inconsistent performance on RAID 10 volumes when
    performing 256K sequential reads. The driver was only using a single
    tracker to determine which physical drive to send a request to for AIO
    requests.
    
    Change the single tracker (next_bypass_group) to an array of trackers based
    on the number of data disks in a row of the RAID map.
    
    Link: https://lore.kernel.org/r/164375212842.440833.6733971458765002128.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Mike McGowen <Mike.McGowen@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Mike McGowen authored and martinkpetersen committed Feb 8, 2022
  8. scsi: smartpqi: Fix kdump issue when controller is locked up

    Avoid dropping into shell if the controller is in locked up state.
    
    Driver issues SIS soft reset to bring back the controller to SIS mode while
    OS boots into kdump mode.
    
    If the controller is in lockup state, SIS soft reset does not work.
    
    Since the controller lockup code has not been cleared, driver considers the
    firmware is no longer up and running. Driver returns back an error code to
    OS and the kdump fails.
    
    Link: https://lore.kernel.org/r/164375212337.440833.11955356190354940369.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Mahesh Rajashekhara authored and martinkpetersen committed Feb 8, 2022
  9. scsi: smartpqi: Update volume size after expansion

    After modifying logical volume size, lsblk command still shows previous
    size of logical volume.
    
    When the driver gets any event from firmware it schedules rescan worker
    with delay of 10 seconds. If array expansion is so quick that it gets
    completed in a second, the driver could not catch logical volume expansion
    due to worker delay.
    
    Since driver does not detect volume expansion, driver would not call
    rescan device to update new size to the OS.
    
    Link: https://lore.kernel.org/r/164375211833.440833.17023155389220583731.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Mahesh Rajashekhara authored and martinkpetersen committed Feb 8, 2022
  10. scsi: smartpqi: Avoid drive spin-down during suspend

    On certain systems (based on PCI IDs), when the OS transitions the system
    into the suspend (S3) state, the BMIC flush cache command will indicate a
    system RESTART instead of SUSPEND.
    
    This avoids drive spin-down.
    
    Link: https://lore.kernel.org/r/164375211330.440833.7203813692110347698.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Sagar Biradar <sagar.biradar@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Sagar Biradar authored and martinkpetersen committed Feb 8, 2022
  11. scsi: smartpqi: Resolve delay issue with PQI_HZ value

    Change PQI_HZ to HZ.
    
    PQI_HZ macro was set to 1000 when HZ value is less than 1000.  By default,
    PQI_HZ will result into a delay of 10 seconds(for kernel, which has HZ =
    100). So in this case when firmware raises an event, rescan worker will be
    scheduled after a delay of (10 x PQI_HZ) = 100 seconds instead of 10
    seconds.
    
    Also driver uses PQI_HZ at many instances, which might result in some other
    issues with respect to delay.
    
    Link: https://lore.kernel.org/r/164375210825.440833.15510172447583227486.stgit@brunhilda.pdev.net
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Balsundar P <balsundar.p@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Balsundar P authored and martinkpetersen committed Feb 8, 2022
  12. scsi: smartpqi: Fix a typo in func pqi_aio_submit_io()

    Use correct pqi_aio_path_request structure to calculate the offset to
    sg_descriptors.
    
    The function pqi_aio_submit_io() uses the pqi_raid_path_request structure
    to calculate the offset of the structure member sg_descriptors.  This is
    incorrect.  It should be using the pqi_aio_path_request structure instead.
    
    This typo is benign because the offsets are the same in both structures.
    
    Link: https://lore.kernel.org/r/164375210321.440833.2566086558909686629.stgit@brunhilda.pdev.net
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Feb 8, 2022
  13. scsi: smartpqi: Fix a name typo and cleanup code

    Rename the function pqi_is_io_high_priority() to pqi_is_io_high_priority().
    Remove 2 unnecessary lines from the function, and adjusted the white space.
    
    Link: https://lore.kernel.org/r/164375209818.440833.10908948825731635853.stgit@brunhilda.pdev.net
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Feb 8, 2022
Older