Only below two patches have a driver functionality fix, but these are
not that critical.

1. d309ae0732 scsi: mpt3sas: Fix ReplyPostFree pool allocation
Here is SRU for this bug fix patch,
[Impact] 
Driver always allocates ReplyPostFree queue pools as a set of 16 ReplyPostFree 
queues. So, on a VM where there are only one or two CPUs assigned to it and 
with less RAM memory then there are chances that the kernel cannot allocate a 
continuous memory segment for a ReplyPostFree queues set, and hence IOC 
initialization is terminated.
[Fix] 
On a system with the number of CPUs less than 16, the driver doesn't need 16 
ReplyPostFree queues, it just needs the CPU count number of ReplyPostFree 
queues.  So the driver allocates only the CPU count of ReplyPostFree queues 
instead of allocating 16 ReplyPostFree queues and IOC gets initialized 
successfully.
[Testing]
Load driver on a VM with one or two CPUs and less RAM size (such as 1GB) and 
driver should successfully Initialize the IOC.
[REGRESSION RISK]
There is no regression risk with this bug-fix patch.

2. e2fac6c44a SCSI: mpt3sas: Fix deadlock while canceling the running firmware 
event
Here is SRU for this bug fix patch,

[Impact]
Will observe driver hang if any MPT request message gets timeout and which 
requires hard reset while processing the Firmware Event.
[Fix]
During hard reset operation, don't call canel_work_sync() API for the Firmware 
event work if this hard reset operation is invoked while processing this 
corresponding firmware event. 
[Testing]
Load the driver and perform more target drive's hot plug and unplug operations 
(such that more firmware events get generated).  
[REGRESSION RISK]
There is no regression risk with this bugfix patch. 


Below fix patches are cosmetic patches which doesn't have any driver 
functionality impacts,
bfb3f00c06 scsi: mpt3sas: Simplify bool comparison
cf9e575e62 scsi: mpt3sas: Fix a bunch of potential naming doc-rot
54cb88dc30 scsi: mpt3sas: Fix a couple of misdocumented functions/params
782a1ab33f scsi: mpt3sas: Fix some kernel-doc misnaming issues
a8d548b0b3 scsi: mpt3sas: Fix a few kernel-doc issues
206a3afa94 scsi: mpt3sas: Fix a typo
c0629d70ca scsi: mpt3sas: Fix endianness for ActiveCablePowerRequirement
16660db3fc scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query
3ad0b1da0d scsi: mpt3sas: Fix two kernel-doc headers
2910a4a9e9 scsi: mpt3sas: Documentation cleanup
e2fac6c44a scsi: mpt3sas: Fix deadlock while cancelling the running firmware 
event
84a84cc6af scsi: mpt3sas: Fix fall-through warnings for Clang
cf750be8e6 scsi: mpt3sas: Fix Coverity reported issue
d6c2ce435f scsi: mpt3sas: Fix error return value in _scsih_expander_add()

Below patches are related to kernel APIs compatible changes and doesn't have 
any driver functionality impacts,
8278807abd scsi: core: Add scsi_device_busy() wrapper
020b0f0a31 scsi: core: Replace sdev->device_busy with sbitmap
f2b1e9c6f8 scsi: core: Introduce scsi_build_sense()

Below patches are the driver enhancement patches that we have added in
Phase18 & Phase19.

1.  Add host tagset support:
Through this feature, the driver can emulate the number of request queues to 
more than one at kernel level even though IOC supports only one request queue. 
By default this feature is disabled, if users want this feature then they have 
to enable it through module parameter.  
64f0dce20 SCSI: mpt3sas: Add support for shared host tagset for CPU hotplug

[REGRESSION RISK]
No extra test cases are needed, normal regression test cases such as driver 
load & running IOs are enough.

2.  Additional diagnostic buffer query interface:
Currently whenever any diag trigger event hits the driver releases the diag 
buffer, but the application doesn't know for which trigger event the diag 
buffer got released. So added a new additional diagnostic buffer query IOCTL 
interface through which the application queries the driver about the reason 
(i.e. trigger event information) for which the diag buffer got released.  
688c1a0a13 scsi: mpt3sas: Additional diagnostic buffer query interface

[REGRESSION RISK]
No extra test cases are needed, normal regression test cases which cover the 
IOCTL paths are enough.

3.  Allocate memory pools within 4GB memory region:
According to the MPI spec chain, sense reply, reply post, etc pool buffers need 
to be allocated within the 4GB memory region. So, through the below patches 
driver makes sure that these pools are allocated within the 4GB memory region 
(i.e. higher 32 address bits should be the same for the entire buffer pool).

d6adc251dd scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 
4 GB region
7dd847dae1 scsi: mpt3sas: Force chain buffer allocations to be within same 4 GB 
region
970ac2bb70 scsi: mpt3sas: Force sense buffer allocations to be within same 4 GB 
region
58501fd937 scsi: mpt3sas: Force reply buffer allocations to be within same 4 GB 
region
2e4e858732 scsi: mpt3sas: Force reply post buffer allocations to be within same 
4 GB region
c569de899b scsi: mpt3sas: Force reply post array allocations to be within same 
4 GB region

[REGRESSION RISK]
No extra test cases are needed, normal regression test cases such as driver 
load & running IOs are enough.

4. Handle firmware faults gracefully during IOC initialization time: 
Currently, if the driver detects any firmware fault during the IOC 
initialization then the driver terminates the IOC initialization operation. 
With this feature, the driver tries to recover the IOC from the fault state, if 
IOC successfully recovers from the fault state then driver continues with the 
IOC initialization operation. 
19a622c39a scsi: mpt3sas: Handle firmware faults during first half of IOC init
a0815c45c8 scsi: mpt3sas: Handle firmware faults during second half of IOC init

[REGRESSION RISK]
No extra test cases are needed, normal regression test cases such as driver 
load & running IOs are enough.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1935034

Title:
  Update mpt3sas Driver to 38.100.00.00 for Ubuntu 21.10 and 20.04

Status in linux package in Ubuntu:
  Confirmed
Status in linux source package in Focal:
  New
Status in linux source package in Hirsute:
  New
Status in linux source package in Impish:
  Confirmed

Bug description:
  This is a feature request to update the mpt3sas driver to latest version in 
upstream 38.100.00.00 in Ubuntu 21.10 and Ubuntu 20.04. 
  This will allow users to use fixes and enhancements that landed upstream in 
5.14. For this reason,
  Broadcom and Dell have requested to pull these patches to update the
  mpt3sas driver to the current upstream version.

  I could see both Ubuntu 21.10 and 20.04 HWE has mpt3sas driver
  v36.100.00.00, following are the commit ID's to update to 38.100.00.00

  8b3c803529 scsi: mpt3sas: Signedness bug in _base_get_diag_triggers()
  39718fe7ad scsi: mpt3sas: Fix spelling mistake in Kconfig "compatiblity" -> 
"compatibility"
  bfb3f00c06 scsi: mpt3sas: Simplify bool comparison
  d309ae0732 scsi: mpt3sas: Fix ReplyPostFree pool allocation
  664f0dce20 scsi: mpt3sas: Add support for shared host tagset for CPU hotplug
  688c1a0a13 scsi: mpt3sas: Additional diagnostic buffer query interface
  446b5f3d3f scsi: mpt3sas: Update driver version to 37.100.00.00

  8278807abd scsi: core: Add scsi_device_busy() wrapper
  020b0f0a31 scsi: core: Replace sdev->device_busy with sbitmap

  e015e0ded1 scsi: mpt3sas: Fix misspelling of _base_put_smid_default_atomic()
  2111ba8781 scsi: mpt3sas: Move a little data from the stack onto the heap
  cf9e575e62 scsi: mpt3sas: Fix a bunch of potential naming doc-rot
  54cb88dc30 scsi: mpt3sas: Fix a couple of misdocumented functions/params
  782a1ab33f scsi: mpt3sas: Fix some kernel-doc misnaming issues
  a50bd64616 scsi: mpt3sas: Do not use GFP_KERNEL in atomic context
  a1c4d77413 scsi: mpt3sas: Replace unnecessary dynamic allocation with a 
static one
  d6adc251dd scsi: mpt3sas: Force PCIe scatterlist allocations to be within 
same 4 GB region
  7dd847dae1 scsi: mpt3sas: Force chain buffer allocations to be within same 4 
GB region
  970ac2bb70 scsi: mpt3sas: Force sense buffer allocations to be within same 4 
GB region
  58501fd937 scsi: mpt3sas: Force reply buffer allocations to be within same 4 
GB region
  2e4e858732 scsi: mpt3sas: Force reply post buffer allocations to be within 
same 4 GB region
  c569de899b scsi: mpt3sas: Force reply post array allocations to be within 
same 4 GB region
  37067b9793 scsi: mpt3sas: Update driver version to 37.101.00.00

  a8d548b0b3 scsi: mpt3sas: Fix a few kernel-doc issues
  3401ecf7fc scsi: mpt3sas: Fix error return code of mpt3sas_base_attach()
                                                                                
   
  206a3afa94 scsi: mpt3sas: Fix a typo
  4c51f95696 scsi: mpt3sas: Only one vSES is present even when IOC has multi 
vSES
  c0629d70ca scsi: mpt3sas: Fix endianness for ActiveCablePowerRequirement
  3c8604691d scsi: mpt3sas: Block PCI config access from userspace during reset
  16660db3fc scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query
  3ad0b1da0d scsi: mpt3sas: Fix two kernel-doc headers
  2910a4a9e9 scsi: mpt3sas: Documentation cleanup
  e2fac6c44a scsi: mpt3sas: Fix deadlock while cancelling the running firmware 
event
  19a622c39a scsi: mpt3sas: Handle firmware faults during first half of IOC init
  a0815c45c8 scsi: mpt3sas: Handle firmware faults during second half of IOC 
init

  f2b1e9c6f8 scsi: core: Introduce scsi_build_sense()

  84a84cc6af scsi: mpt3sas: Fix fall-through warnings for Clang
  cf750be8e6 scsi: mpt3sas: Fix Coverity reported issue
  d6c2ce435f scsi: mpt3sas: Fix error return value in _scsih_expander_add()

  
  Note:
  We have  already posted patch to update  driver version to 38.100.00.00
  Other patches are already available in upstream .

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1935034/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to