[SRU][22.04.04]: mpi3mr driver update
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
linux (Ubuntu) | Status tracked in Noble | |||||
Jammy |
Opinion
|
Wishlist
|
Unassigned | |||
Mantic |
Fix Released
|
Medium
|
Jeff Lane | |||
Noble |
Confirmed
|
Medium
|
Jeff Lane |
Bug Description
[Impact]
This update has been initiated to incorporate the mpi3mr driver from upstream into the upcoming Ubuntu releases (Ubuntu 22.04.x point releases).
This has been requested by both Broadcom as the upstream and by one of the larger OEM partners who are going to be selling systems with these storage controllers to customers. This series of patches includes bug fixes and support for current Broadcom controllers.
[Fixes]
Below are the commit IDs for the latest upstream version (v6.8).
The 22.04 LTS point kernel already includes the latest mpi3mr driver version 8.0.0.69.0. Therefore, the listed commit IDs below correspond to the subsequent patches.
The commit IDs listed below are in sequential order from bottom to top, indicating the order for applying the patches.
linux-next
d0a60e3edaa4 scsi: mpi3mr: Update driver version to 8.5.1.0.0
9536af615dc9 scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-3
fb231d7deffb scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-2
c432e1675239 scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-1
07ac6adda4d3 scsi: mpi3mr: Fetch correct device dev handle for status reply descriptor
f8fb3f39148e scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State
c01d515687e3 scsi: mpi3mr: Clean up block devices post controller reset
e5aab848dfdf scsi: mpi3mr: Refresh sdev queue depth after controller reset
b4d94164ff32 scsi: mpi3mr: driver version upgrade to 8.5.0.0.50
1193a89d2b6d scsi: mpi3mr: Add support for status reply descriptor
cb5b60894602 scsi: mpi3mr: Increase maximum number of PHYs to 64 from 32
c9260ff28ee5 scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116
6fa21eab82be scsi: mpi3mr: Add support for SAS5116 PCI IDs
Mainline at 6.6/6.7
82b2fb52d6ec scsi: mpi3mr: Split off bus_reset function from host_reset
9a9068b2afa0 scsi: mpi3mr: Update driver version to 8.5.0.0.0
d9a5ab0ea98f scsi: mpi3mr: Enhance handling of devices removed after controller reset
e7a8648e1ce2 scsi: mpi3mr: WRITE SAME implementation
d9adb81e67e9 scsi: mpi3mr: Add support for more than 1MB I/O
6f81b1cfdf33 scsi: mpi3mr: Update MPI Headers to version 3.00.28
9134211f7bed scsi: mpi3mr: Invoke soft reset upon TSU or event ack time out
[Testing]
verify the mpi3mr driver is loaded
verify the version string shows 8.5.1.0.0
[Regression Risk]
Low. These patches are contained to the mpi3mr driver code itself and are all already accepted upstream. They cleanly pick into our 6.5 kernel tree.
Broadcom has tested these and the only concern is the kernel warning below in Comment #7
CVE References
summary: |
- mpi3mr driver update request + [Ubuntu 22.04.04]: mpi3mr driver update request |
description: | updated |
Changed in linux (Ubuntu Noble): | |
assignee: | nobody → Jeff Lane (bladernr) |
Changed in linux (Ubuntu Mantic): | |
assignee: | nobody → Jeff Lane (bladernr) |
Changed in linux (Ubuntu Noble): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Mantic): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Jammy): | |
status: | New → Opinion |
importance: | Undecided → Wishlist |
Changed in linux (Ubuntu Mantic): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Noble): | |
importance: | Undecided → Medium |
summary: |
- [Ubuntu 22.04.04]: mpi3mr driver update request + [SRU][22.04.04]: mpi3mr driver update |
description: | updated |
description: | updated |
Changed in linux (Ubuntu Mantic): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Mantic): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-jammy-linux-hwe-6.5 verification-done-mantic-linux removed: verification-needed-jammy-linux-hwe-6.5 verification-needed-mantic-linux |
I ran a quick check. Everything up to these exists already in our 6.5 kernel.
9134211f7bed missing in Ubuntu, possibly upstream at v6.6-rc1~ 11^2~45^ 2~5 11^2~45^ 2~4 11^2~45^ 2~3 11^2~45^ 2~2 11^2~45^ 2~1
6f81b1cfdf33 missing in Ubuntu, possibly upstream at v6.6-rc1~
d9adb81e67e9 missing in Ubuntu, possibly upstream at v6.6-rc1~
e7a8648e1ce2 missing in Ubuntu, possibly upstream at v6.6-rc1~
d9a5ab0ea98f missing in Ubuntu, possibly upstream at v6.6-rc1~
9a9068b2afa0 missing in Ubuntu, possibly upstream at v6.6-rc1~11^2~45^2
82b2fb52d6ec does not appear in Ubuntu. Best guess on first appearance upstream: v6.7-rc1
6fa21eab82be does not appear in either ubuntu or the upstream kernel.
c9260ff28ee5 does not appear in either ubuntu or the upstream kernel.
cb5b60894602 does not appear in either ubuntu or the upstream kernel.
1193a89d2b6d does not appear in either ubuntu or the upstream kernel.
b4d94164ff32 does not appear in either ubuntu or the upstream kernel.
Those last five are not in any tree I checked (mainline, linux-next).
Edit: I found them 6.8/scsi-staging queued for 6.8.
I'd rather not pull any of these until they've landed at least in linux-next.
Also I'm only going to pull them as far back as 6.5 once they are all in at least linux-next. I'll revisit this in a week or so and see where we are.