Issue with LSI SAS2116 - no drives being detected on Fedora 32 kernel 5.8.*
Last week I updated my kernel using the regular DNF update process. On reboot, none of the drives in my mdadm arrays were detected. I narrowed down the issue to a problem with the kernel and used an older kernel to boot. I waited a week for the next kernel update and ran the process again, hoping it was just a bad kernel, but the problem has not been resolved. Dmesg shows kernel: mpt2sas_cm0: failure at drivers/scsi/mpt3sas/mpt3sas_scsih.c:10790/_scsih_probe()!
on both 5.8 kernels. After some research, I'm pretty sure that Fedora has dropped support for sas2116 controllers (https://access.redhat.com/discussions/3722151?page=2), so I either need to find drivers for this card or replace it with a 12gb/s card.
What do you suggest? Where can I find drivers for this card for Fedora 32 and how do I install them, or what would be a good 12gb/s card to replace it with (the card currently drives a 24 bay supermicro backplane with 12 drives installed)? The card I currently use is a LSI 9201-16e.
The issue is related to how the driver for the newer Broadcom/LSI Tri-Mode cards allocate large amounts of DMA memory for the very high 32455 default queue depth in the latest driver. This is problematic for these older cards as they use the same driver, but do not perform the logic to release all DMA queues then re-request on 32-bit boundary if the original DMA request is not fully allocated. To work around the issue you can set the kernel argument to lower the queue depth to 10000:
grubby --update-kernel=ALL --args="mpt3sas.max_queue_depth=10000"
You can find more details here: https://bugzilla.kernel.org/show_bug.cgi?id=209177