scsi: leapraid: update driver to v2.0.1.2#1761
Conversation
leapraid driver changes from v2.0.0.6 to v2.0.1.2. This update includes: - overheat handling rework - reset flow stabilization - improved timeout diagnostics - sysfs enhancement - topology and transport error-path fixes - memory leak/UAF/reference leak fixes - mmap/ioctl validation fixes - improved queue depth handling - improved interrupt and resource cleanup logic The update also fixes several race conditions and improves overall driver robustness under reset, topology change, and controller abnormal scenarios. Signed-off-by: Dongdong Hao <doubled@leap-io-kernel.com>
There was a problem hiding this comment.
Sorry @leap-io, your pull request is larger than the review limit of 150000 diff characters
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Pull request overview
Updates the LeapRAID SCSI driver to version 2.00.01.02 with changes across transport handling, ioctl/mmap paths, device probing, reset/overheat flow, and driver metadata.
Changes:
- Updates driver version, PCI matching, queue depth limits, command timeouts, and adapter/device state structures.
- Improves transport/rphy cleanup paths, SMP timeout logging, sysfs attributes, and boot/RAID/SAS device reference handling.
- Adds ioctl validation, DMA mmap changes, overheat cleanup integration, and revised reset/recovery waiting.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| drivers/scsi/leapraid/leapraid_transport.c | Updates SAS transport setup, rphy/port cleanup, SMP command handling, and logging. |
| drivers/scsi/leapraid/leapraid_os.c | Updates probe/remove/shutdown/recovery flows, PCI IDs, queue depth handling, sysfs attributes, and SCSI command paths. |
| drivers/scsi/leapraid/leapraid_func.h | Updates version/constants, structures, helper declarations, and state/refcount fields. |
| drivers/scsi/leapraid/leapraid_app.c | Revises userspace ioctl command handling, validation, DMA allocation, mmap, and misc-device init. |
| drivers/scsi/leapraid/Kconfig | Updates LeapRAID help text wording. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if (sas_port_add(port)) { | ||
| dev_err(&adapter->pdev->dev, | ||
| "%s: Failed to add SAS port\n", __func__); | ||
| goto out_delete_port; |
| { PCI_DEVICE(LEAPRAID_VENDOR_ID, LEAPRAID_DEVID_RAID) }, | ||
| { PCI_DEVICE_SUB(LEAPRAID_VENDOR_ID, LEAPRAID_DEVID_HBA, | ||
| LEAPRAID_SUBVENDOR_ID, | ||
| LEAPRAID_SUBDEVID_HBA) }, |
| if (!wait_for_completion_timeout(&adapter->driver_cmds.ctl_cmd.done, | ||
| timeout * HZ)) { | ||
| dev_err(&adapter->pdev->dev, | ||
| "%s: ctl_cmd timeout, status=0x%x\n", | ||
| __func__, adapter->driver_cmds.ctl_cmd.status); | ||
| } |
Update leapraid driver from v2.0.0.6 to v2.0.1.2.
Includes: