drivers/vfio/pci/xe/main.c | 2 -- 1 file changed, 2 deletions(-)
From: GuoHan Zhao <zhaoguohan@kylinos.cn>
xe_vfio_pci_reset_done() sets deferred_reset and, when it manages to
acquire state_mutex itself, hands the cleanup off to
xe_vfio_pci_state_mutex_unlock().
That helper already clears deferred_reset and runs xe_vfio_pci_reset()
before dropping the mutex. Calling xe_vfio_pci_reset() again right
afterwards repeats the reset handling unnecessarily.
Fixes: 1f5556ec8b9e ("vfio/xe: Add device specific vfio_pci driver variant for Intel graphics")
Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
---
v2:
- Correct the Fixes tag to point to 1f5556ec8b9e
drivers/vfio/pci/xe/main.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/vfio/pci/xe/main.c b/drivers/vfio/pci/xe/main.c
index 4ecadbbfd86e..cbff5af385ef 100644
--- a/drivers/vfio/pci/xe/main.c
+++ b/drivers/vfio/pci/xe/main.c
@@ -135,8 +135,6 @@ static void xe_vfio_pci_reset_done(struct pci_dev *pdev)
}
spin_unlock(&xe_vdev->reset_lock);
xe_vfio_pci_state_mutex_unlock(xe_vdev);
-
- xe_vfio_pci_reset(xe_vdev);
}
static const struct pci_error_handlers xe_vfio_pci_err_handlers = {
--
2.43.0
On Mon, 27 Apr 2026 09:21:28 +0800
zhaoguohan@kylinos.cn wrote:
> From: GuoHan Zhao <zhaoguohan@kylinos.cn>
>
> xe_vfio_pci_reset_done() sets deferred_reset and, when it manages to
> acquire state_mutex itself, hands the cleanup off to
> xe_vfio_pci_state_mutex_unlock().
>
> That helper already clears deferred_reset and runs xe_vfio_pci_reset()
> before dropping the mutex. Calling xe_vfio_pci_reset() again right
> afterwards repeats the reset handling unnecessarily.
>
> Fixes: 1f5556ec8b9e ("vfio/xe: Add device specific vfio_pci driver variant for Intel graphics")
> Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
> ---
> v2:
> - Correct the Fixes tag to point to 1f5556ec8b9e
>
> drivers/vfio/pci/xe/main.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/vfio/pci/xe/main.c b/drivers/vfio/pci/xe/main.c
> index 4ecadbbfd86e..cbff5af385ef 100644
> --- a/drivers/vfio/pci/xe/main.c
> +++ b/drivers/vfio/pci/xe/main.c
> @@ -135,8 +135,6 @@ static void xe_vfio_pci_reset_done(struct pci_dev *pdev)
> }
> spin_unlock(&xe_vdev->reset_lock);
> xe_vfio_pci_state_mutex_unlock(xe_vdev);
> -
> - xe_vfio_pci_reset(xe_vdev);
> }
>
> static const struct pci_error_handlers xe_vfio_pci_err_handlers = {
Applied to vfio next branch for v7.2. Thanks,
Alex
On Mon, 27 Apr 2026 09:21:28 +0800
zhaoguohan@kylinos.cn wrote:
> From: GuoHan Zhao <zhaoguohan@kylinos.cn>
>
> xe_vfio_pci_reset_done() sets deferred_reset and, when it manages to
> acquire state_mutex itself, hands the cleanup off to
> xe_vfio_pci_state_mutex_unlock().
>
> That helper already clears deferred_reset and runs xe_vfio_pci_reset()
> before dropping the mutex. Calling xe_vfio_pci_reset() again right
> afterwards repeats the reset handling unnecessarily.
>
> Fixes: 1f5556ec8b9e ("vfio/xe: Add device specific vfio_pci driver variant for Intel graphics")
> Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
> ---
> v2:
> - Correct the Fixes tag to point to 1f5556ec8b9e
Michał, any objection? I'd prefer to include this with your ack.
Thanks,
Alex
> drivers/vfio/pci/xe/main.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/vfio/pci/xe/main.c b/drivers/vfio/pci/xe/main.c
> index 4ecadbbfd86e..cbff5af385ef 100644
> --- a/drivers/vfio/pci/xe/main.c
> +++ b/drivers/vfio/pci/xe/main.c
> @@ -135,8 +135,6 @@ static void xe_vfio_pci_reset_done(struct pci_dev *pdev)
> }
> spin_unlock(&xe_vdev->reset_lock);
> xe_vfio_pci_state_mutex_unlock(xe_vdev);
> -
> - xe_vfio_pci_reset(xe_vdev);
> }
>
> static const struct pci_error_handlers xe_vfio_pci_err_handlers = {
On Wed, May 20, 2026 at 11:22:20AM -0600, Alex Williamson wrote:
> On Mon, 27 Apr 2026 09:21:28 +0800
> zhaoguohan@kylinos.cn wrote:
>
> > From: GuoHan Zhao <zhaoguohan@kylinos.cn>
> >
> > xe_vfio_pci_reset_done() sets deferred_reset and, when it manages to
> > acquire state_mutex itself, hands the cleanup off to
> > xe_vfio_pci_state_mutex_unlock().
> >
> > That helper already clears deferred_reset and runs xe_vfio_pci_reset()
> > before dropping the mutex. Calling xe_vfio_pci_reset() again right
> > afterwards repeats the reset handling unnecessarily.
> >
> > Fixes: 1f5556ec8b9e ("vfio/xe: Add device specific vfio_pci driver variant for Intel graphics")
> > Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
> > ---
> > v2:
> > - Correct the Fixes tag to point to 1f5556ec8b9e
>
>
> Michał, any objection? I'd prefer to include this with your ack.
> Thanks,
Hi,
No objections.
Acked-by: Michał Winiarski <michal.winiarski@intel.com>
Thanks,
-Michał
>
> Alex
>
> > drivers/vfio/pci/xe/main.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/vfio/pci/xe/main.c b/drivers/vfio/pci/xe/main.c
> > index 4ecadbbfd86e..cbff5af385ef 100644
> > --- a/drivers/vfio/pci/xe/main.c
> > +++ b/drivers/vfio/pci/xe/main.c
> > @@ -135,8 +135,6 @@ static void xe_vfio_pci_reset_done(struct pci_dev *pdev)
> > }
> > spin_unlock(&xe_vdev->reset_lock);
> > xe_vfio_pci_state_mutex_unlock(xe_vdev);
> > -
> > - xe_vfio_pci_reset(xe_vdev);
> > }
> >
> > static const struct pci_error_handlers xe_vfio_pci_err_handlers = {
>
> From: zhaoguohan@kylinos.cn <zhaoguohan@kylinos.cn>
> Sent: Monday, April 27, 2026 9:21 AM
>
> From: GuoHan Zhao <zhaoguohan@kylinos.cn>
>
> xe_vfio_pci_reset_done() sets deferred_reset and, when it manages to
> acquire state_mutex itself, hands the cleanup off to
> xe_vfio_pci_state_mutex_unlock().
>
> That helper already clears deferred_reset and runs xe_vfio_pci_reset()
> before dropping the mutex. Calling xe_vfio_pci_reset() again right
> afterwards repeats the reset handling unnecessarily.
>
> Fixes: 1f5556ec8b9e ("vfio/xe: Add device specific vfio_pci driver variant for
> Intel graphics")
> Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
© 2016 - 2026 Red Hat, Inc.