[SRU][Ubuntu 21.10][Broadcom] mpi3mr driver submission request

Bug #1933359 reported by Sumit Saxena
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Impish
Fix Released
Undecided
Unassigned

Bug Description

[Impact]
Broadcom is coming up with next generation high performance Storage IO and RAID controllers. For details, follow: https://www.spinics.net/lists/linux-scsi/msg147868.html
This family of controllers is managed by "mpi3mr" Linux device driver(written from scratch). First patchset of the driver is accepted by Linux upstream.
The driver is available in git branch - 5.14/scsi-staging of Linux SCSI tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
The driver will be part of 5.14 mainline Linux kernel release. Here is the list of commit ids:

[Fixes]
9fc4abfe5a5f scsi: mpi3mr: Add event handling debug prints
74e1f30a2868 scsi: mpi3mr: Add EEDP DIF DIX support
28cbe2f420d3 scsi: mpi3mr: Add support for DSN secure firmware check
2f9c4d520aa6 scsi: mpi3mr: Add support for PM suspend and resume
44dc724f5eec scsi: mpi3mr: Wait for pending I/O completions upon detection of VD I/O timeout
71e80106d059 scsi: mpi3mr: Print pending host I/Os for debugging
f061178e0762 scsi: mpi3mr: Complete support for soft reset
463429f8dd5c scsi: mpi3mr: Add support for threaded ISR
392bbeb85b2a scsi: mpi3mr: Hardware workaround for UNMAP commands to NVMe drives
82141ddba90a scsi: mpi3mr: Allow certain commands during pci-remove hook
0ea177343f1f scsi: mpi3mr: Add change queue depth support
e844adb1fbdc scsi: mpi3mr: Implement SCSI error handler hooks
8f9c6173ca46 scsi: mpi3mr: Add bios_param SCSI host template hook
ff9561e910fc scsi: mpi3mr: Print IOC info for debugging
54dfcffb4191 scsi: mpi3mr: Add support for timestamp sync with firmware
fb9b04574f14 scsi: mpi3mr: Add support for recovering controller
e36710dc06e3 scsi: mpi3mr: Additional event handling
8e653455547a scsi: mpi3mr: Add support for PCIe device event handling
13ef29ea4aa0 scsi: mpi3mr: Add support for device add/remove event handling
672ae26c8216 scsi: mpi3mr: Add support for internal watchdog thread
023ab2a9b4ed scsi: mpi3mr: Add support for queue command processing
c9566231cfaf scsi: mpi3mr: Create operational request and reply queue pair
824a156633df scsi: mpi3mr: Base driver code
c4f7ac64616e scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig

Please include this driver in Ubuntu 21.10 release.
Let me know for any questions.

[Testing]
Load the driver
Run IO

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

[Other Info]
https://code.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/impish/+ref/mpi3mr_driver_bcom2

CVE References

Sumit Saxena (ssaxena)
summary: - Broadcom latest IO and RAID storage controller driver mpi3mr inclusion
- in Ubuntu 21.10
+ [Ubuntu 21.10][Broadcom] mpi3mr driver submission request
Jeff Lane  (bladernr)
affects: lxc (Ubuntu) → linux (Ubuntu)
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1933359

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: impish
Sumit Saxena (ssaxena)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Michael Reed (mreed8855) wrote : Re: [Ubuntu 21.10][Broadcom] mpi3mr driver submission request

I have created a test kernel at the following link:

https://people.canonical.com/~mreed/mpi3mr/lp_1933359/

Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Installed linux-image-unsigned, linux-modules & linux-modules-extra from the above link.

# modinfo mpi3mr
modinfo: ERROR: Module mpi3mr not found.
# uname -r
5.13.0-18-generic

Hi Michael,
Looks like this kernel is missing mpi3mr. Can you please look into it?

Revision history for this message
Sumit Saxena (ssaxena) wrote :

I too noticed mpi3mr module missing in the provided packages.
Please help with the kernel/module package with mpi3mr included.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Michael - it appears you forgot to set the config option:

# CONFIG_SCSI_MPI3MR is not set

Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Dell wants this driver to be a part of Ubuntu 20.04.4 GA ISO (HWE kernel of 20.04.4) to handle the installation scenarios.
Let us know if this is not going to be the case.

Michael Reed (mreed8855)
no longer affects: linux (Ubuntu Focal)
Revision history for this message
Sumit Saxena (ssaxena) wrote :

 By when can we expect the kernel with mpi3mr enabled ?

Revision history for this message
Michael Reed (mreed8855) wrote :

I have updated link with a test kernel that has the driver pre-loaded.

https://people.canonical.com/~mreed/mpi3mr/lp_1933359/

Revision history for this message
Michael Reed (mreed8855) wrote :

$ modinfo mpi3mr
filename: /lib/modules/5.13.0-18-generic/kernel/drivers/scsi/mpi3mr/mpi3mr.ko
version: 00.255.45.01
license: GPL
description: MPI3 Storage Controller Device Driver
author: Broadcom Inc. <email address hidden>
srcversion: 3A93F0957F07960C4539005
alias: pci:v00001000d000000A5sv*sd*bc*sc*i*
depends:
retpoline: Y
intree: Y
name: mpi3mr
vermagic: 5.13.0-18-generic SMP mod_unload modversions
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 46:D6:43:D5:31:85:4D:AD:A5:7F:DD:D7:9F:1A:E2:59:AB:87:12:C8
sig_hashalgo: sha512
signature: 48:08:4E:4E:11:BF:4C:E0:2C:58:9A:38:5D:A6:87:47:17:92:24:A9:
...

Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Hi Michael,
Sanity check on the above kernel is a Pass.

Michael Reed (mreed8855)
tags: added: verification-done-impish
Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Hi Michael,
Can you please help incorporate this driver in upcoming release of 20.04 HWE?

Michael Reed (mreed8855)
summary: - [Ubuntu 21.10][Broadcom] mpi3mr driver submission request
+ [SRU][Ubuntu 21.10][Broadcom] mpi3mr driver submission request
description: updated
Michael Reed (mreed8855)
tags: removed: verification-done-impish
Michael Reed (mreed8855)
description: updated
Changed in linux (Ubuntu Impish):
status: Confirmed → In Progress
Changed in linux (Ubuntu Impish):
status: In Progress → Fix Committed
Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux/5.13.0-24.24 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-impish' to 'verification-done-impish'. If the problem still exists, change the tag 'verification-needed-impish' to 'verification-failed-impish'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-impish
Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Hi Michael,
Sanity check on the above kernel is a Pass.

tags: added: verification-done-impish
removed: impish verification-needed-impish
Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Hi Michael,
Sanity check is complete with the new impish proposed kernel 5.13.0-28.31.
Please help take this forward.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (74.6 KiB)

This bug was fixed in the package linux - 5.13.0-28.31

---------------
linux (5.13.0-28.31) impish; urgency=medium

  * amd_sfh: Null pointer dereference on early device init causes early panic
    and fails to boot (LP: #1956519)
    - HID: amd_sfh: Fix potential NULL pointer dereference

  * impish: ddebs build take too long and times out (LP: #1957810)
    - [Packaging] enforce xz compression for ddebs

  * audio mute/ mic mute are not working on a HP machine (LP: #1955691)
    - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook

  * rtw88_8821ce causes freeze (LP: #1927808)
    - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE

  * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table
    (LP: #1955686)
    - ALSA: hda: intel-sdw-acpi: harden detection of controller
    - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2

  * icmp_redirect from selftests fails on F/kvm (unary operator expected)
    (LP: #1938964)
    - selftests: icmp_redirect: pass xfail=0 to log_test()

  * Impish update: upstream stable patchset 2021-12-17 (LP: #1955180)
    - arm64: zynqmp: Do not duplicate flash partition label property
    - arm64: zynqmp: Fix serial compatible string
    - ARM: dts: sunxi: Fix OPPs node name
    - arm64: dts: allwinner: h5: Fix GPU thermal zone node name
    - arm64: dts: allwinner: a100: Fix thermal zone node name
    - staging: wfx: ensure IRQ is ready before enabling it
    - ARM: dts: NSP: Fix mpcore, mmc node names
    - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
    - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro
    - arm64: dts: hisilicon: fix arm,sp805 compatible string
    - RDMA/bnxt_re: Check if the vlan is valid before reporting
    - bus: ti-sysc: Add quirk handling for reinit on context lost
    - bus: ti-sysc: Use context lost quirk for otg
    - usb: musb: tusb6010: check return value after calling
      platform_get_resource()
    - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read
    - ARM: dts: ux500: Skomer regulator fixes
    - staging: rtl8723bs: remove possible deadlock when disconnect (v2)
    - ARM: BCM53016: Specify switch ports for Meraki MR32
    - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency
    - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property
    - arm64: dts: freescale: fix arm,sp805 compatible string
    - ASoC: SOF: Intel: hda-dai: fix potential locking issue
    - clk: imx: imx6ul: Move csi_sel mux to correct base register
    - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect
    - scsi: advansys: Fix kernel pointer leak
    - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336
      codec
    - firmware_loader: fix pre-allocated buf built-in firmware use
    - ARM: dts: omap: fix gpmc,mux-add-data type
    - usb: host: ohci-tmio: check return value after calling
      platform_get_resource()
    - ARM: dts: ls1021a: move thermal-zones node out of soc/
    - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash
    - ALSA: ISA: not for M68K
    - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc
    - MIPS: sni:...

Changed in linux (Ubuntu Impish):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-intel-5.13/5.13.0-1010.10 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.