habanalabs: print if device is used on FD close
Notify to the user that although he closed the FD, the device is still in use because there are live CS and/or memory mappings (mmaps). Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
parent
d3ee681afd
commit
278b5f7acb
|
@ -80,9 +80,9 @@ void hl_hpriv_get(struct hl_fpriv *hpriv)
|
|||
kref_get(&hpriv->refcount);
|
||||
}
|
||||
|
||||
void hl_hpriv_put(struct hl_fpriv *hpriv)
|
||||
int hl_hpriv_put(struct hl_fpriv *hpriv)
|
||||
{
|
||||
kref_put(&hpriv->refcount, hpriv_release);
|
||||
return kref_put(&hpriv->refcount, hpriv_release);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -109,7 +109,9 @@ static int hl_device_release(struct inode *inode, struct file *filp)
|
|||
hl_cb_mgr_fini(hdev, &hpriv->cb_mgr);
|
||||
hl_ctx_mgr_fini(hdev, &hpriv->ctx_mgr);
|
||||
|
||||
hl_hpriv_put(hpriv);
|
||||
if (!hl_hpriv_put(hpriv))
|
||||
dev_warn(hdev->dev,
|
||||
"Device is still in use because there are live CS and/or memory mappings\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2182,7 +2182,7 @@ int hl_device_resume(struct hl_device *hdev);
|
|||
int hl_device_reset(struct hl_device *hdev, bool hard_reset,
|
||||
bool from_hard_reset_thread);
|
||||
void hl_hpriv_get(struct hl_fpriv *hpriv);
|
||||
void hl_hpriv_put(struct hl_fpriv *hpriv);
|
||||
int hl_hpriv_put(struct hl_fpriv *hpriv);
|
||||
int hl_device_set_frequency(struct hl_device *hdev, enum hl_pll_frequency freq);
|
||||
uint32_t hl_device_utilization(struct hl_device *hdev, uint32_t period_ms);
|
||||
|
||||
|
|
Loading…
Reference in New Issue