Page MenuHomeFreeBSD

Newly added features and bug fixes in latest Microchip SmartPQI driver for FreeBSD13.0
ClosedPublic

Authored by papani.srikanth_microchip.com on May 10 2021, 11:40 AM.

Details

Summary

It includes:

1)Newly added TMF feature.
2)Added newly Huawei & Inspur PCI ID's
3)Fixed smartpqi driver hangs in Z-Pool while running on FreeBSD12.1
4)Fixed flooding dmesg in kernel while the controller is offline during in ioctls.
5)Avoided unnecessary host memory allocation for rcb sg buffers.
6)Fixed race conditions while accessing internal rcb structure.
7)Fixed where Logical volumes exposing two different names to the OS it's due to the system memory is overwritten with DMA stale data.
8)Fixed dynamically unloading a smartpqi driver.
9)Added device_shutdown callback instead of deprecated shutdown_final kernel event in smartpqi driver.
10)Fixed where Os is crashed during physical drive hot removal during heavy IO.
11)Fixed OS crash during controller lockup/offline during heavy IO.
12)Fixed coverity issues in smartpqi driver
13)Fixed system crash while creating and deleting logical volume in a continuous loop.
14)Fixed where the volume size is not exposing to OS when it expands.
15)Added HC3 pci id's.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Hi Rainer,

Can you please take this code for FreeBSD 13.0 testing ?

This revision is now accepted and ready to land.May 17 2021, 5:16 PM

Hi Papani,

unfortunately, I don't have any host with FreeBSD 13 and this HBA currently.

Regards
Rainer

i've staged this commit at
https://github.com/bsdimp/freebsd/tree/D30182
to make sure I've got the details right. This branch builds for me. I have no way to test it, but it's identical here.

Please check to make sure that I've given the proper credit (for author) and the folks that have reviewed it here. I'm unsure if they are co-authors of this or not, but would be happy to credit them as such.
Once this one is sorted out, I'll do the merge using the other review that's going on for 12.2.
This review applies to both stable/13 and to -current as far as I can tell, though I've only test compiled on -current.

In D30182#685386, @imp wrote:

i've staged this commit at
https://github.com/bsdimp/freebsd/tree/D30182
to make sure I've got the details right. This branch builds for me. I have no way to test it, but it's identical here.

Please check to make sure that I've given the proper credit (for author) and the folks that have reviewed it here. I'm unsure if they are co-authors of this or not, but would be happy to credit them as such.
Once this one is sorted out, I'll do the merge using the other review that's going on for 12.2.
This review applies to both stable/13 and to -current as far as I can tell, though I've only test compiled on -current.

Thank you so much!!

OK. This has landed. Please double check me and let me know if I've botched something.... I hope to MFC this in a week or so.

In D30182#685826, @imp wrote:

OK. This has landed. Please double check me and let me know if I've botched something.... I hope to MFC this in a week or so.

I pulled down the changes you have staged and they look good. I've compiled on 13 and have been running tests on different controllers. Everything's passing so as far as I can tell the changes should be good to go.

Thanks for all of the help.
Scott

Excellent. I've just MFC'd this to stable/13. There are some minor CAM API changes coming, what's the best way to ensure that you guys pick them up for your driver?
I'll also MFC to 12 after a couple of days since that's more complex and it gives our processes a chance to build this, get snap-shots out, etc.