Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [High] Using `DEFINE_SIMPLE_DEV_PM_OPS` incorrectly maps the `.freeze` 
callback to the suspend function, causing the PCI device to be forced into 
D3hot during hibernation freeze.
--

--- Patch [1]: [PATCH v2] accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for 
pm struct ---
commit 05b8c895a9d3a2cfea19ba9e2cdc13394fb870ce
Author: Li Jun <[email protected]>

accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct

This commit uses DEFINE_SIMPLE_DEV_PM_OPS to define hl_pm_ops and safely
handle PM callbacks without triggering compiler warnings when PM sleep is
disabled. It also implicitly adds callbacks for freeze, thaw, poweroff,
and restore.

> diff --git a/drivers/accel/habanalabs/common/habanalabs_drv.c 
> b/drivers/accel/habanalabs/common/habanalabs_drv.c
> index 220954d730136..7ec5aa7905f06 100644
> --- a/drivers/accel/habanalabs/common/habanalabs_drv.c
> +++ b/drivers/accel/habanalabs/common/habanalabs_drv.c
> @@ -1630,10 +1630,7 @@ static void hl_pci_reset_done(struct pci_dev *pdev)
>       hl_device_reset(hdev, flags);
>  }
>  
> -static const struct dev_pm_ops hl_pm_ops = {
> -     .suspend = hl_pmops_suspend,
> -     .resume = hl_pmops_resume,
> -};
> +static DEFINE_SIMPLE_DEV_PM_OPS(hl_pm_ops, hl_pmops_suspend, 
> hl_pmops_resume);

[Severity: High]
Does this map the .freeze callback to hl_pmops_suspend, which forces the
device into D3hot?

DEFINE_SIMPLE_DEV_PM_OPS implicitly sets the .freeze callback to
hl_pmops_suspend. When the user initiates hibernation, this callback is
invoked and eventually puts the device into D3hot:

drivers/accel/habanalabs/common/device.c:hl_device_suspend() {
    ...
    pci_set_power_state(hdev->pdev, PCI_D3hot);
    ...
}

Will putting the PCI device into D3hot during the .freeze phase make its
configuration and memory space inaccessible, breaking the system-wide
hibernation image creation process?

>  static const struct pci_error_handlers hl_pci_err_handler = {
>       .error_detected = hl_pci_err_detected,

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to